forloop

Como utilizar o objeto foloop

O objeto {{ forloop }} contém os atributos de um loop for. O {{ forloop }} só pode ser usado dentro das tags {% for %}.

Confira a tabela a seguir com os atributos do {{ forloop }}:

AtributoFunçãoExemplo
firstRetorna true se é a primeira iteração do loop. Retorna false em todas as outras iterações.Input:

{% for product in products limit: 5 %}
{% if forloop.first %}
Primeiro!
{% else %}
Não é o primeiro.
{% endif %}
{% endfor %}

Output:

Primeiro!
Não é o primeiro.
Não é o primeiro.
Não é o primeiro.
Não é o primeiro.
indexRetorna a posição atual do loop, começando em 1.Input:

{% for product in products %}
{{ forloop.index }}
{% endfor %}

Output:

1 2 3 4 5
index0Retorna a posição atual do loop, começando em 0.Input:

{% for product in products %}
{{ forloop.index0 }}
{% endfor %}

Output:

0 1 2 3 4
lastRetorna true se é a última iteração do loop. Retorna false em todas as outras iterações.Input:

{% for product in products limit: 5 %}
{% if forloop.last %}
Adieu!
{% else %}
Tchananã…
{% endif %}
{% endfor %}

Output:

Tchananã…
Tchananã…
Tchananã…
Tchananã…
Adieu!
lengthRetorna o número de iterações do loop.Input:

{% for product in products %} {% if forloop.first %}
Essa tag possui {{ forloop.length }} produtos:
{% endif %}
{{ product.name }}
{% endfor %}


- Essa tag possui 5 produtos:

Camiseta Verão
Casaco Outono
Blusão Inverno
Saia Primavera
Tênis Ano Todo
rindexRetorna o forloop.index em ordem reversa.Input:

{% for product in products %}
{{ forloop.rindex }}
{% endfor %}

Output:

5 4 3 2 1
rindex0Retorna o forloop.index0 em ordem reversa.Input:

{% for product in products %}
{{ forloop.rindex0 }}
{% endfor %} **Output:** 4 3 2 1 0`

📘

Saiba mais sobre o forloop na documentação For loops.