如何解决Django 控制中心网址名称
在使用 django-controlcenter
包时,我试图在 html 模板中设置一个 url 以访问仪表板。
在我的 urlpattersn 中,我有:
path('admin/dashboard/',controlcenter.urls,name='dashboard'),
CONTROLCENTER_DASHBOARDS = (
('admindash','myapp.dashboards.AdminDashboard'),)
因此对于通常解析为 /admin/dashboard/admindash
的网址
,模板网址应该是什么? django.urls
include
不适用于包,问题是注册正确的命名空间。我直接尝试了 {% url 'dashboard:admindash' %}
和 {% url 'admindash' %}
但它返回了 noreverseMatch 错误。
解决方法
您要使用此代码吗?:
{% url 'admindash' %}
,
对于 url 命名空间语法应该是 <namespace>:<name>
。但是您以错误的顺序使用它 {% url 'dashboard:admindash' %}
。应该是 {% url 'admindash:dashboard' %}
我提出的当前解决方案是在网址中使用 RedirectView
:
from django.views.generic.base import RedirectView
urlspattersn=[
path('admin/dashboard/',controlcenter.urls),path('admin/dashboard/',RedirectView.as_view(url='admindash/',permanent=False),name='admindash'),]
然后在模板中调用:
{% url 'admindash' %}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。