【问题标题】:Django navigation url doesn't workDjango导航网址不起作用
【发布时间】:2019-01-19 13:09:09
【问题描述】:

我是 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>  

所以我想,我应该如何清除我的路线并从任何当前页面转到任何导航页面。

【问题讨论】:

    标签: python django templates url


    【解决方案1】:

    尝试在您的链接中添加“/”,在 navigation.html 中:
    &lt;a href="/about"&gt;About us&lt;/a&gt;&lt;a href="/contact"&gt;Contact us&lt;/a&gt;

    如您所见,当您从 About 页面转到 Contact 页面时,您在浏览器中的 url 看起来像 127.0.0.1:8000/about/contact,但在 trydjango.urls 中您定义的路径如下:127.0.0.1:8000/contact

    【讨论】:

      【解决方案2】:

      您有 trydjango.urls 文件,其中包含诸如 about/、contact/、products/ 等 URL,因此当您单击主页上的 URL 时,它会将您带到关于页面的 URL,但之后当您单击任何它附加到现有 URL 的其他 URL,即 about/products。所以你想要做的是你需要使 URL 成为相对的,你可以通过在你的 href 标签中添加 /about 或 /product 来做到这一点。

      <a href="/contact">Contact us</a>
      

      这将在您的 trydjango 文件中查找 /contact 并指向 URL。 阅读 URL 调度程序 docs 并尝试在可能的情况下使用 url 标记更好地回答 here

      【讨论】:

      • 谢谢,我找了很久的相对路径。有什么好的资源吗?
      • 或许你可以从这个link开始
      猜你喜欢
      • 2015-03-26
      • 2018-09-18
      • 2014-01-10
      • 2020-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-31
      • 2012-08-23
      相关资源
      最近更新 更多