如何在django中生成导航栏?

时间:2017-06-21 16:15:49

标签: python django django-templates django-urls

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

1 个答案:

答案 0 :(得分:0)

不确定如何构建导航项列表...在评论中提出Per @ Doug的建议,您可以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>