这是我当前列表组的一个示例:
由于侧边栏上的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 %}
答案 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>