DJANGO Как узнать, находится ли объект pk в моем request.path
Мне нужно сравнить url с условием if в html шаблоне Django, чтобы меню опций выбиралось, когда я нахожусь на этой странице. У меня есть это, но работает не очень хорошо:
{% for vehiculo in vehiculos %}
{% if "/calendar/vehicle/{{ vehiculo.pk }}/" in request.path %}
<a class="list-group-item list-group-item-action active">
{% else %}
<a class="list-group-item list-group-item-action">
{% endif %}
{% endfor %}
Но не работает!!!
Я не нахожу решений ни в документации Django, ни здесь, на stackoverflow, github...
Любое решение будет полезно, спасибо!
Вместо того чтобы проверять URL на наличие в нем pk, если вы находитесь на странице деталей автомобиля, а на странице деталей автомобиля у вас есть список ссылок для перехода на другие страницы деталей автомобиля, вы можете легко добавить объект автомобиля (или просто pk) в контекст, который отображается вместе с шаблоном. Тогда это будет просто итерация списка автомобилей, сравнение pk двух объектов и установка активного класса для соответствующей ссылки.
Добавленный бонус, я обычно пишу этот тип оператора if в виде одной строки, как например:
{% for vehiculo in vehiculos %}
<a class="list-group-item list-group-item-action {% if vehiculo.pk == context_obj.pk %}active{% endif %}">
{% endfor %}