Django 控制中心网址名称

时间:2020-12-30 22:17:38

标签: django django-templates django-urls

在使用 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 错误。

3 个答案:

答案 0 :(得分:0)

您要使用此代码吗?:

{% url 'admindash' %}

答案 1 :(得分:0)

对于 url 命名空间语法应该是 <namespace>:<name>。但是您以错误的顺序使用它 {% url 'dashboard:admindash' %}。应该是 {% url 'admindash:dashboard' %}

答案 2 :(得分:0)

我提出的当前解决方案是在网址中使用 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' %}
相关问题