【问题标题】:How can I generate a nav bar in django?如何在 django 中生成导航栏?
【发布时间】:2017-11-24 16:01:18
【问题描述】:

我想知道是否可以生成导航栏。我的想法是从urls.py 获取排序列表,并使用{% for %} 块来遍历并在模板中创建导航栏。关于如何实施此策略的任何建议,或者是否有更好的策略?

【问题讨论】:

标签: python django django-templates django-urls


【解决方案1】:

不确定您想如何构建导航项列表...根据 @Doug 在 cmets 中的建议,您可以 see this question 了解如何动态构建可用路线列表。

至于创建导航栏,您可以非常简单地为导航栏创建一个模板,然后将其包含在您的主模板中。

导航模板

<!-- navigation.html.j2 -->
<nav>
    <ul class="nav-items">
        {% for nav_item in nav_list %}
            <li>{{nav_item}}</li>
        {% end for %}
    </ul>
</nav>

主模板

<!-- main.html.j2 -->
<!DOCTYPE html>
<html>
    <head>
        ...
    </head>
    <body>
        {% include "navigation.html" %}
        <main>
            {% block content %}{% endblock %}
        </main>
    </body>
</html>

【讨论】:

  • 但是 nav_list 是从哪里来的?他想要一个 urls.py 文件中所有 url 的导航栏,他如何将它们放入该列表中?
  • @gabrielbelini 因此我的评论“不确定你想如何构建导航项列表......”
  • 一开始没看到,抱歉。
  • 有几个选项...您可以查看动态构建列表(很多工作...我会看看我是否能找到我以前的答案关于如何做到这一点),或者您可以保留一个静态列表,您可以在需要时手动更新...这通常是更好的选择,因为在进行 UI 设计时动态列表很难控制/缩放/计划...。编辑:这里是动态获取所有网址/视图的线程链接:stackoverflow.com/questions/32933229/…
猜你喜欢
  • 1970-01-01
  • 2016-08-25
  • 1970-01-01
  • 2021-08-07
  • 1970-01-01
  • 2017-03-26
  • 1970-01-01
  • 1970-01-01
  • 2018-04-28
相关资源
最近更新 更多