我有一个导航栏,有四个链接,
"categories": { "501": 99, "301": 47, "304": 5 }
class ='current'将定义当前活动页面,如
{% block navbar %}
<div id="navbar">
<a href="">Link 1</a>
<a href="">Link 2</a>
<a href="">Link 3</a>
<a href="">Link 4</a>
</div>
{% endblock %}
我的问题是,在Django模板语言中,最好的方法是覆盖4个链接中的每一个上的块导航栏,这样每个链接都会有一个相应的类“当前”?
答案 0 :(得分:0)
有很多方法可以解决这个问题,正确的方法取决于您的确切项目。话虽如此,最简单的解决方案可能是使用{% with %}
标签和{{ block.super }}
,即:
在您的基本模板中:
{% block navbar %}
<div id="navbar">
<a href="" class="{% if current == "link1" %}current{% endif %}">Link 1</a>
<a href="" class="{% if current == "link2" %}current{% endif %}">Link 2</a>
<a href="" class="{% if current == "link3" %}current{% endif %}">Link 3</a>
<a href="" class="{% if current == "link4" %}current{% endif %}">Link 4</a>
</div>
{% endblock %}
然后在“Link1”页面的模板中:
{% block navbar %}
{% with current="link1" %}
{{ block.super }}
{% endwith %}
{% endblock %}
等等......