簡體   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