在Django中,您如何引用项目的urls.py URL?

时间:2019-02-05 18:19:51

标签: django django-urls

我正在制作一个包含多个应用程序的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。

1 个答案:

答案 0 :(得分:1)

我是个白痴。因此,当您在项目urls.py文件中为url提供名称时,要在模板中引用它时,只需忽略app:部分。所以像

urlpatterns = [
    path('global_url/', global_views.global_view1, name='global1')
]

您可以在模板中访问

,如下所示:{% url 'global1' %}