考虑这个基本菜单:
<ul class="nav navbar-nav">
<li class="active"><a href="{% url 'home' %}">Home</a></li>
<li><a href="{% url 'about' %}">About</a></li>
</ul>
我正在尝试将当前页面的链接作为活动类,我想基于当前url和视图的url动态执行此操作。因此,当用户访问about页面时,该页面现在具有活动类,而主页不具有。
我希望逻辑在<li></li>
标记内部像这样工作:
{% if request.get_full_path = "{% url 'home' %}" %}class="active"{% endif %}
{% if request.get_full_path = "{% url 'about' %}" %}class="active"{% endif %}
但显然我不能将两个{% ... %}
嵌套在一起。
关于如何绕过这两个人的任何想法?
答案 0 :(得分:33)
我通常在导航中使用模板继承,方式与answer alecxe linked to类似。但是,可以比较if标记中当前URL的使用情况。
url
标记允许您将结果保存到变量中。然后,您可以在if标记中使用该变量。
{% url 'home' as home_url %}
{% if request.get_full_path == home_url %}class="active"{% endif %}