我在我的项目中使用django 2.0.7
和django-decorator-include
应用程序(版本2.0)。在
我的网址.py公司名称:
from django.conf import settings
from django.contrib import admin
from django.urls import path, re_path, include
from django.conf.urls.static import static
from django.conf.urls.i18n import i18n_patterns
from django.contrib.auth.decorators import login_required
from decorator_include import decorator_include
urlpatterns = i18n_patterns(
path('', include('web.urls', namespace='web')),
path('backoffice/', decorator_include([login_required,], 'backoffice.urls', namespace='backoffice')),
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我的backoffice.urls
:
backoffice
被添加到已安装的应用程序中。在
在我的视图中(例如在appweb
中),我可以做反向URL,例如在我的登录视图中我可以做return redirect('backoffice:dashboard')
,而且它工作得非常好——它重定向到/backoffice/。在
问题是当我试图在我的模板反向url。在我的一个模板中,当我添加代码时:
<li class="featured"><a href="{% url 'backoffice:dashboard' %}">{% trans 'Open dashboard' %}</a></li>
我得到django错误:
NoReverseMatch at /
'backoffice' is not a registered namespace
我想这个问题与django decorator include有关,因为如果我将include更改为标准的django url include:
path('backoffice/', include('backoffice.urls', namespace='backoffice')),
它工作得很好,我可以得到反向网址在模板再次。 我该怎么办?可能是django decorator include中的一个bug?有什么办法吗?在
目前没有回答
相关问题 更多 >
编程相关推荐