Python Django URL名称在模板中使用

Python Django URL名称在模板中使用,python,django,django-templates,django-urls,Python,Django,Django Templates,Django Urls,现在,在我的模板中,我对导航中的链接进行了硬核处理,如下所示: `base.html` <a href="/about">About</a> <a href="/contact">Contact</a> <!-- etc --> 在我的base.html文件中,有没有一种方法可以引用url.py中的urlpatterns,这样每当我更改这些模式时,它都会在我的页面和模板中无处不在??差不多 <!-- what I would

现在,在我的模板中,我对导航中的链接进行了硬核处理,如下所示:

`base.html`

<a href="/about">About</a>
<a href="/contact">Contact</a>
<!-- etc -->
在我的
base.html
文件中,有没有一种方法可以引用
url.py
中的urlpatterns,这样每当我更改这些模式时,它都会在我的页面和模板中无处不在??差不多

<!-- what I would like to do -->
<a href="{{ reference_to_about_page }}">About</a>
<a href="{{ reference_to_contact_page }}">About</a>

将Django的
url
模板标记(文档)与命名的url模式一起使用

例如:

<a href="{% url 'about' %}">About</a>
<a href="{% url 'contact' %}">Contact</a>

请注意,您在
'
中输入的名称将是
url.py
中特定url模式的
名称。此外,如果这是应用程序中的
urls.py
文件(也就是说,它最初从基
urls.py
路由),则需要包含应用程序的名称空间

这就是标签发明的原因:

返回绝对路径引用(不带域名的URL) 匹配给定的视图函数和可选参数

如果你是 使用命名URL模式,您可以在中引用模式的名称 url标记,而不是使用视图的路径

这基本上意味着您可以使用
url
标记中
urlpatterns
中配置的url名称:

<a href="{% url 'about' %}">About</a>
<a href="{% url 'contact' %}">Contact</a>


这给了你更多的灵活性。现在,任何时候
关于
联系人
页面的实际url发生变化时,模板都会自动“跟上”变化。

在提出问题之前正确阅读文档,以便。。。这里清楚地提到:你解决问题了吗?答案是否有帮助,或者smth有待改进?谢谢
<a href="{% url 'about' %}">About</a>
<a href="{% url 'contact' %}">Contact</a>