一尘不染

在Django中导航

django

我刚刚在django中完成了我的第一个小型webapp,我喜欢它。我将开始将一个旧的生产PHP网站转换为django,作为其模板的一部分,有一个导航栏。

在PHP中,我会在模板代码中对照当前URL检查每个nav选项的URL,并在它们对齐时应用CSS类。太混乱了。

django是否有更好的东西,还是处理模板中代码的好方法?

首先,我将如何获取当前URL?


阅读 817

收藏
2020-03-27

共1个答案

一尘不染

我使用模板继承来自定义导航。例如:

base.html

<html>
    <head>...</head>
    <body>
        ...
        {% block nav %}
        <ul id="nav">
            <li>{% block nav-home %}<a href="{% url home %}">Home</a>{% endblock %}</li>
            <li>{% block nav-about %}<a href="{% url about %}">About</a>{% endblock %}</li>
            <li>{% block nav-contact %}<a href="{% url contact %}">Contact</a>{% endblock %}</li>
        </ul>
        {% endblock %}
        ...
    </body>
</html>

about.html

{% extends "base.html" %}

{% block nav-about %}<strong class="nav-active">About</strong>{% endblock %}
2020-03-27