【问题标题】:Reverse custom django Admin Site urls?反向自定义 django 管理站点 url?
【发布时间】:2011-11-28 14:34:11
【问题描述】:

有没有办法反转添加到自定义 django AdminSite 的 URL,例如

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

【问题讨论】:

    标签: django django-admin django-urls


    【解决方案1】:

    尝试:{% url admin:some_view %}

    【讨论】:

    • 很好,不知道为什么它以前对我不起作用,可能是我的错误
    • 他们有点挑剔,但很高兴我能帮上忙!
    【解决方案2】:

    或者,如果您为管理站点定义了一个名称,如下所示:

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

    【讨论】:

      猜你喜欢
      • 2021-06-07
      • 2019-08-18
      • 2017-11-01
      • 2018-12-16
      • 1970-01-01
      • 2011-11-07
      • 2010-12-29
      • 2020-03-04
      • 1970-01-01
      相关资源
      最近更新 更多