Django получение параметра из url в шаблоне для установки CSS
В моем шаблоне есть динамический список меню категорий, который я хотел бы выделить (сделать активным), когда параметр url соответствует пункту меню. Таким образом, когда страница соответствует пункту меню, категория будет выделена.
Примеры URL:
https://[имя домена]/обучение/?категория=1
https://[имя домена]/обучение/?категория=2
https://[имя домена]/обучение/?категория=3
{% for categories in category_list %}
<a href="{% url 'training' %}?category={{categories.Category_id}}" class="list-group-item list-group-item-action {% if request.GET.category == 'categories.Category_id' %}active{% endif %}">
{% endfor%}
Вы должны переместить ваш блок if перед отображением тега a, добавить класс active только тогда, когда ваше условие if выполняется, как это:
{% for categories in category_list %}
{% if request.GET.category == 'categories.Category_id' %}
<a href="{% url 'training' %}?category={{categories.Category_id}}" class="list-group-item list-group-item-action active">
{% else %}
<a href="{% url 'training' %}?category={{categories.Category_id}}" class="list-group-item list-group-item-action ">
{% endif %}
{% endfor%}
Просто проверьте условие, действительно ли оно выбирает нужный вам случай или нет.