我是Django的新手。 我试图将导航栏添加到每个页面,所以当我转到页面的一个(例如关于),然后从那里转到另一个页面(例如,联系)时,会发生路径错误。
在navigation.html中
<nav>
<ul>
<li>
<a href="{% url 'reports:index' %}">Reports</a>
</li>
<li>
<a href="about">About us</a>
</li>
<li>
<a href="contact">Contact us</a>
</li>
</ul>
</nav>
因此,我想如何清除路线并从任何当前页面转到任何导航页面。
答案 0 :(得分:2)
尝试在Navigation.html中为链接添加“ /”:
<a href="/about">About us</a>
和
<a href="/contact">Contact us</a>
如您所见,当您从“关于页面”转到“页面联系”时,浏览器中的URL看起来像127.0.0.1:8000/about/contact
,但是在trydjango.urls中,您定义的路径如下:127.0.0.1:8000/contact
答案 1 :(得分:0)
您有trydjango.urls文件,其中包含诸如about /,contact /,products /之类的URL,因此,当您单击主页上的URL时,它将带您到About页面的URL,但之后单击任何URL。其他URL附加到现有URL,即about / products。因此,您需要做的是将URL设置为相对URL,可以通过在href标记中添加/ about或/ product来实现。
<a href="/contact">Contact us</a>
这将在trydjango文件中查找/ contact并指向URL。 阅读URL调度程序docs,并尝试在可能的答案更好的情况下使用url tage here