我正在制作一个个人网站。我有一个博客页面(site.com/blog),我有一个博客文章列表。如果我想查看一篇足够简单的博客帖子,我可以点击它和代码:
<a href="/blog/{{ obj.id }}"><h1>{{ obj.topic_title }}</h1></a>
会让我到那儿。此外,如果我想转到我的联系人页面(site.com/contacts)。很简单,我点击导航接口按钮,我去那里
<a href="/contacts">Contacts</a>
但如果我输入博客文章( site.com/blog/1 ),我使用相同的模板,如果我想转到我的联系人页面,我必须再次点击
<a href="/contacts">Contacts</a>
链接,但这会将我移至404页 site.com/blog/contacts 。如何在不破坏每一页的情况下处理此问题
答案 0 :(得分:2)
使用内置的Django url
模板标记,该标记获取视图名称并返回其绝对路径。
返回与给定视图和可选参数匹配的绝对路径引用(不带域名的URL)。
您也可以为其指定视图名称及其任何视图参数。这比链接到博客页面的方式要好得多:
{% url 'blog-view-name' obj.id %}
这确保了如果您更改了视图的结构,它仍然不会破坏您的链接。