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?

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>

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.