Jak sprawdzić ostatnią iterację pętli w szablonie Django?

100

Mam podstawowe pytanie, jak w języku szablonów Django możesz stwierdzić, czy znajdujesz się w ostatniej iteracji pętli w forpętli?

Daniel Kivatinos
źródło

Odpowiedzi:

228

Użyłbyś forloop.last. Na przykład:

<ul>
{% for item in menu_items %}
    <li{% if forloop.last %} class='last'{% endif %}>{{ item }}</li>
{% endfor %}
</ul>
Paolo Bergantino
źródło
2
Jeśli istnieją zagnieżdżone pętle, czy program sprawdzi najbardziej wewnętrzną pętlę?
Tagar
4
Czy to funkcja nowszej wersji Jinja? Pobieranie „szablonu renderowania:„ forloop ”jest niezdefiniowane” na {% if not (forloop.last)%}, {% endif%}
Tagar
1
Jeśli istnieją zagnieżdżone pętle, użyj ich, forloop.parentloopaby uzyskać dostęp do pętli otaczającej bieżącą. Aby sprawdzić ostatnią iterację pętli rodzica, można użyć forloop.parentloop.last. Zobacz dokumentację . @Tagar
ndmeiri
Krótko mówiąc, forloop.lastsprawdzi ostatnią iterację najbardziej wewnętrznej pętli.
ndmeiri
12

{{forloop.last}}

fuentesjr
źródło