如果元素在查询中是第一个,则添加 html 代码 - Django

Add html code if the element is first in query - Django

在 Bootstrap 滑块中,第一个元素的值为“active”,如果元素是第一个,如何检查并将此值添加到查询集的 html 代码中。

示例(不起作用):

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

*这为所有项目提供 activity,而不仅仅是第一个。预期结果仅针对第一个。

您可以使用 forloop.first [Django-doc] 来检查它是否是第一个元素,因此:

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

forloop.first 将 return:

True if this is the first time through the loop

您可以这样使用 forloop.counter

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

forloop.counter 是 1 个基于索引的计数器,用于存储循环的当前索引。