反向自定义 django 管理站点 url?
Posted
技术标签:
【中文标题】反向自定义 django 管理站点 url?【英文标题】:Reverse custom django Admin Site urls? 【发布时间】: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
【问题讨论】:
【参考方案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')
【讨论】:
以上是关于反向自定义 django 管理站点 url?的主要内容,如果未能解决你的问题,请参考以下文章