Como faço para verificar a última iteração de loop no modelo Django?

100

Eu tenho uma pergunta básica, na linguagem de modelo do Django, como você pode saber se está na última iteração de loop em um forloop?

Daniel Kivatinos
fonte

Respostas:

228

Você usaria forloop.last. Por exemplo:

<ul>
{% for item in menu_items %}
    <li{% if forloop.last %} class='last'{% endif %}>{{ item }}</li>
{% endfor %}
</ul>
Paolo Bergantino
fonte
2
Se houver loops aninhados, ele verificará o loop mais interno?
Tagar de
4
Este é um recurso de uma versão mais recente do Jinja? Obtendo "template de renderização: 'forloop' is undefined" em {% if not (forloop.last)%}, {% endif%}
Tagar
1
Se houver loops aninhados, use forloop.parentlooppara acessar o loop ao redor do atual. Portanto, para verificar a última iteração de um loop pai, pode-se usar forloop.parentloop.last. Veja a documentação . @Tagar
ndmeiri
Portanto, em resumo, forloop.lastverificaremos a última iteração do loop mais interno.
ndmeiri
12

{{forloop.last}}

Fuentesjr
fonte