我的项目urls.py
urlpatterns = i18n_patterns(
url(r'^register/', include('register.urls')),
)
所以我在注册应用中保留了网址,因此urls.py
应用中的register
看起来像这样:
urlpatterns = patterns(
url(r'^test/$', views.Test, name="register_test"),
)
所以我有一个位于注册应用程序之外的模板,位于项目的根目录中,我正在尝试使用上面这样的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: []
答案 0 :(得分:1)
您是否尝试过:<a href="{% url 'register:register_test' %}"/>Test</a>
?
您可能希望首先为寄存器URL指定名称空间:
urls.py
urlpatterns = i18n_patterns(
url(r'^register/', include('register.urls', namespace='register'),
)
注册app中的urls.py:
urlpatterns = patterns(
'register.views',
url(r'^test/$', 'Test', name="register_test"),
)
关于url namespace的Django doc。
答案 1 :(得分:0)
项目urls.py
urlpatterns = i18n_patterns(
url(r'^register/', include('register.urls', namespace="register")),
)
app urls.py
urlpatterns = patterns(
url(r'^test/$', views.Test, name="register_test"),
)
template.html
<a href="{% url 'register:register_test' %}"/>Test</a>