Добавьте html-код, если элемент является первым в запросе - Django

В слайдере Bootstrap первый элемент имеет значение "active", как проверить и добавить это значение в html код для кверисета, если элемент первый.

Пример (который не работает):

{% for obj in query %}
<div class="carousel-item {% if query|first %}active{% endif %}">
  [...]
</div>
{% endfor %}

*это дает активность для всех элементов, а не только для первого. Ожидаемый результат - только для первого.

Вы можете работать с forloop.first [Django-doc] для проверки, является ли это первым элементом, так:

{% for obj in query %}
<div class="carousel-item{% if forloop.first %} active{% endif %}">
  [...]
</div>
{% endfor %}

В результате forloop.first будет возвращено:

True если цикл выполняется впервые

Вы можете использовать forloop.counter следующим образом:

{% for obj in query %}
<div class="carousel-item {% if forloop.counter == 1 %} active {% endif %}">
  [...]
</div>
{% endfor %}

forloop.counter - это 1 индексный счетчик, используемый для хранения текущего индекса цикла.

Вернуться на верх