如何在库中使用{% url .. %}
模板标签应用程序创建链接到图书馆应用程序自己的视图?
给定mysite/urls.py
:
urlpatterns = [
url(r'^myapp/', include('myapp.urls', namespace='mysite')),
]
和一个应用程序与myapp/urls.py
:
urlpatterns = [
url(r'^mylib/', include('mylib.urls', namespace='mylib')),
]
和图书馆应用程序与mylib/urls.py
:
urlpatterns = [
url(r'^commands/$', views.commands, name='list-commands'),
url(r'^command-1/$', views.command_1, name='command-1'),
]
,其中views.commands
视图显示了一个模板,该模板应该包含到/myapp/mylib/command-1/
的链接,即:mylib/templates/mylib/list-commands.html
<a href='{% url "command-1" %}'>command-1</a>
当然可以,如果我把它改成:
{% url "mysite:mylib:command-1" %}
但是mylib的作者既不知道mysite也不知道myapp…?
我有一种感觉,我误解了一些基本的东西…
在你的myapps/urls中添加:
app_name = #enter app_name here[say x]
然后使用
{% url 'x:command-1' %}
阅读:https://docs.djangoproject.com/en/3.1/topics/http/urls/