2016-09-28 143 views
0

我正在制作个人网站。我有一个博客页面(site.com/blog),里面有我的博客文章列表。如果我想检查一篇博客文章够简单,我可以点击它和代码:管理django网址

 <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。如何处理这个问题,而不会对每一页进行编码

回答

2

使用内置的Django url模板标签,该标签采用视图名称并返回一个绝对路径。

返回与给定视图和可选参数匹配的绝对路径引用(没有域名的URL)。

您可以给它一个视图名称及其任何视图参数。这比你如何链接到博客页面好得多:

{% url 'blog-view-name' obj.id %} 

这可以确保如果你改变你观点的结构,它仍然不会打破你的链接。

+0

您能否请您发送一些资源,我不太明白您的意思 – Harton

+0

@Harton我在回答中链接了Django文档,这应该会让您走上正轨。 – brianpck

+0

好的,所以在我的联系人页面我有这个* def索引(请求): \t返回呈现(请求,“contacts/contacts.html”)*这工作完全正常的页面,但如果在另一个应用程序,我有一些视图名称(索引)的东西会变得凌乱? – Harton