如何在django模板中基于url为元素分配div类?

时间:2015-03-16 01:18:52

标签: django django-templates

我正在使用Django 我目前正在这样做:

<a class="{% if request.path == '/messages/' %}current{% endif %}"

设置导航链接的样式,或使其更大胆,表明您当前在该页面上。

这个问题是它只在用户位于主收件箱时才有效,只要他们点击查看邮件,该导航链接的样式就会消失,因为它们不再在/ messages /上,而是在/ messages / 4 /而不是。

我如何调整上面的代码,以便/ messages /之后无关紧要?我可以添加星号,例如:

<a class="{% if request.path == '/messages/*/' %}

1 个答案:

答案 0 :(得分:1)

一种相当简单的方法是从视图中传入上下文数据,而不是使用request.path。以下是处理li项目的类似示例。

<ul>
    <li class="{% if active_tab == 'tab1' %} active{% endif %}"><a href="#">Tab 1</a></li>
    <li class="{% if active_tab == 'tab2' %} active{% endif %}"><a href="#">Tab 2</a></li>
    <li class="{% if active_tab == 'tab3' %} active{% endif %}"><a href="#">Tab 3</a></li>
</ul>

在您的示例中,在您的&#34;所有消息&#34;和#34;单个消息&#34;在视图中,您将传递上下文,以便模板知道应用current类的位置。