繁体   English   中英

Django从应用程序特定的URL中使用URL标记在模板中?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM