Обратный пользовательский URL сайта администратора django? - PullRequest
5 голосов
/ 30 сентября 2011

Есть ли способ отменить URL-адреса, добавленные в пользовательский административный сайт django, например,

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)),

Как отменить some_view

Ответы [ 2 ]

10 голосов
/ 30 сентября 2011

Попробуйте: {% url admin: some_view%}

3 голосов
/ 01 июля 2016

в качестве альтернативы, если вы определили имя для своего сайта администратора следующим образом:

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

изменение URL-адреса будет выполнено путем применения пространства имен с использованием имени пользовательских сайтов, например:

reverse('explorer_admin:explorer')
...