我正在制作一个包含多个应用程序的django项目。我的目录结构是这样的:
DjangoProject
project_dir
settings.py
urls.py
wsgi.py
app1
urls.py
...
app2
urls.py
...
我了解如何使用{% url 'app1:url1' %}
访问属于应用程序一部分的模板中的URL,但这是因为在我的应用程序urls.py文件中,我可以执行以下操作:
app_name = 'app1'
urlpatterns = [
path('', views.view1, name='home'),
]
该项目的urls.py文件似乎与应用程序的URL不同。您不能给项目urls.py文件一个app_name
,那么应该如何从模板内部引用项目url?我一直依靠这样的相对链接:<a href="/global_url"></a>
,但是如果我想更改/ global_url的路径,则必须去更新所有的硬编码模板URL。
答案 0 :(得分:1)
我是个白痴。因此,当您在项目urls.py文件中为url提供名称时,要在模板中引用它时,只需忽略app:
部分。所以像
urlpatterns = [
path('global_url/', global_views.global_view1, name='global1')
]
您可以在模板中访问,如下所示:{% url 'global1' %}