Bagaimana cara memeriksa perulangan perulangan terakhir dalam cetakan Django?

100

Saya mempunyai pertanyaan dasar, dalam bahasa cetakan Django bagaimana Anda dapat mengetahui apakah Anda berada pada perulangan perulangan terakhir dalam sebuah forperulangan?

Daniel Kivatinos
sumber

Jawaban:

228

Anda akan menggunakan forloop.last. Sebagai contoh:

<ul>
{% for item in menu_items %}
    <li{% if forloop.last %} class='last'{% endif %}>{{ item }}</li>
{% endfor %}
</ul>
Paolo Bergantino
sumber
2
Jika ada loop bersarang, apakah akan memeriksa loop paling dalam?
Tagar
4
Apakah ini fitur dari versi Jinja yang lebih baru? Mendapatkan "template rendering: 'forloop' tidak ditentukan" di {% if not (forloop.last)%}, {% endif%}
Tagar
1
Jika ada loop bersarang, gunakan forloop.parentloopuntuk mengakses loop yang mengelilingi loop saat ini. Jadi untuk memeriksa iterasi terakhir dari loop induk, seseorang dapat menggunakan forloop.parentloop.last. Lihat dokumentasinya . @Tagar
ndmeiri
Jadi, singkatnya, forloop.lastakan memeriksa iterasi terakhir dari loop paling dalam.
ndmeiri
12

{{forloop.last}}

fuentesjr
sumber