2011-09-30 7 views
4

Y at-il un moyen d'inverser les URL ajouté à une coutume django AdminSite, par exempleInverser personnalisé django Admin Site urls?

class MyAdminSite(AdminSite): 
    def get_urls(self): 
     urls = super(MyAdminSite, self).get_urls() 
     my_urls = patterns('', 
      url(r'some_view/$',self.admin_view(SomeView.as_view()), name='some_view'), 
     ) 
     return my_urls + url 

myadmin = MyAdminSite(app_name='my_admin') 


url(r'^admin/', include(my_admin.urls)), 

Comment inverser some_view

Répondre

9

Essayez: {% url admin: some_view%}

+0

Grand, ne sais pas pourquoi ça n'a pas marché pour moi avant, sans doute une erreur de ma part – armonge

+0

Ils sont un peu difficiles, mais je suis content Je pourrais aider! – Brandon

3

alternativement, si vous avez défini un nom pour votre site d'administration comme suit:

class ExplorerAdmin(admin.AdminSite): 
    def __init__(self, *args, **kwargs): 
     super(ExplorerAdmin, self).__init__(*args, **kwargs) 
     self.name = 'explorer_admin' 
     self.app_name = 'rql' 

    def get_urls(self): 
     parent_patterns = super(RQLExplorerAdmin, self).get_urls() 
     dashboard_patterns = [ 
      url(r'^$', admin.site.admin_view(TemplateView.as_view(template_name='explorer.html')), name="explorer") 
     ] 
     return dashboard_patterns + parent_patterns 

l'inversion de l'URL se ferait en appliquant nam espacing en utilisant le nom de vos sites personnalisés, comme ceci:

reverse('explorer_admin:explorer') 
Questions connexes