[英]Django use URL tag in template from app specific urls?
我的项目urls.py
有以下URL
urlpatterns = i18n_patterns(
url(r'^register/', include('register.urls')),
)
所以,我保持寄存器的应用程序网址,所以urls.py
在我register
的应用程序是这样的:
urlpatterns = patterns(
url(r'^test/$', views.Test, name="register_test"),
)
所以我有一个模板,它位于register应用程序的外部,位于项目的根目录中,并且我试图像这样使用上面的URL:
<a href="{% url 'register_test' %}"/>Test</a>
但是我收到以下错误:
NoReverseMatch at /en/
Reverse for 'register_test' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []
您是否尝试过: <a href="{% url 'register:register_test' %}"/>Test</a>
? 您可能想先给注册网址一个名称空间:
urls.py
urlpatterns = i18n_patterns(
url(r'^register/', include('register.urls', namespace='register'),
)
注册应用中的urls.py:
urlpatterns = patterns(
'register.views',
url(r'^test/$', 'Test', name="register_test"),
)
有关url名称空间的 Django文档。
项目urls.py
urlpatterns = i18n_patterns(
url(r'^register/', include('register.urls', namespace="register")),
)
应用urls.py
urlpatterns = patterns(
url(r'^test/$', views.Test, name="register_test"),
)
template.html
<a href="{% url 'register:register_test' %}"/>Test</a>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.