Django动态获取视图url并检查其是否为当前pag

2024-04-18 17:04:28 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑一下这个基本菜单:

<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 %}

但显然我不能让两个{% ... %}嵌套在一起。

关于如何避开这两个问题有什么想法吗?


Tags: pathurlhomegetifrequest页面li
1条回答
网友
1楼 · 发布于 2024-04-18 17:04:28

我通常在导航中使用模板继承,类似于answer alecxe linked to。但是,可以比较if标记中使用当前URL的情况,正如您正在尝试的那样。

标签^{}允许您将结果保存到变量中。然后可以在if标记中使用该变量。

{% url 'home' as home_url %}
{% if request.get_full_path == home_url %}class="active"{% endif %}

相关问题 更多 >