如何为当前列表组添加“活动”类?

时间:2019-06-17 05:49:16

标签: python django

这是我当前列表组的一个示例:

enter image description here

由于侧边栏上的response:链接处于活动状态,我希望通过添加CSS Python Flow Control类来突出显示该链接。

我想我可以使用页面的当前URL来做到这一点,在active页面中,当前URL看起来像Python Flow Control,如果在模板中键入http://localhost:8000/python/python-flow-control/,它将返回{{ 1}}。

我使用URL尝试了这种方法,但是没有用:

{{ request.path }}

我添加了/python/python-flow-control/,以检查当前URL是否与当前单击的链接的URL相匹配,以及是否与添加CSS <div class="list-group"> {% for sub_cat in sub_cats %} <a href="{% url 'tutorials:tutorials' sub_cat.sub_cat_parent.cat_slug sub_cat.sub_cat_slug %}" class="list-group-item list-group-item-action {% if request.path == '/{{sub_cat.sub_cat_parent.cat_slug}}/{{sub_cat.sub_cat_slug}}/' %} active {% endif %}"> {{ sub_cat.sub_cat_title }}</a> {% endfor %} </div> 类相匹配。

但是,这没有效果。它没有引发任何错误,也不起作用。

编辑:我尝试过,也没用

{% if request.path == '/{{sub_cat.sub_cat_parent.cat_slug}}/{{sub_cat.sub_cat_slug}}/' %} active {% endif %}

1 个答案:

答案 0 :(得分:1)

  

我添加了{%if request.path =='/{{sub_cat.sub_cat_parent.cat_slug}}/{{sub_cat.sub_cat_slug}}/'%}有效的{%endif%},以检查当前URL是否与当前单击链接的url,如果匹配则添加css active class。   但是,这没有效果。它没有引发任何错误,也没有任何作用。

当然不是,请参阅我对您(几乎重复的)其他问题的回答。

  

编辑:我尝试过,也没用

     

{%url'{{request.path}}''category ='python'sub_cat ='python-introduction'作为目标%}

     

{%,如果目标是%}

当然不是。首先,因为{% url %}的第一个参数是URL的名称,而不是request.path-您应该知道,因为它已经在您的原始代码段中了:

<a href="{% url 'tutorials:tutorials' sub_cat.sub_cat_parent.cat_slug sub_cat.sub_cat_slug %}" class="list-group-item list-group-item-action">

,然后是因为{% if target %}tests the boolean value of target

最简单的明显答案是:

<div class="list-group">
{% for sub_cat in sub_cats %}
    {% url 'tutorials:tutorials' sub_cat.sub_cat_parent.cat_slug sub_cat.sub_cat_slug as sub_cat_url %}
    <a href="{{ sub_cat_url }}" class="list-group-item list-group-item-action {% if request.path==sub_cat_url %} active {% endif %}">
    {{ sub_cat.sub_cat_title }}</a>
{% endfor %}
</div>