ฉันจะตรวจสอบการวนซ้ำครั้งสุดท้ายในเทมเพลต Django ได้อย่างไร


101

ฉันมีคำถามพื้นฐานในภาษาเทมเพลต Django คุณจะรู้ได้อย่างไรว่าคุณอยู่ที่การวนซ้ำรอบสุดท้ายในforลูป?

คำตอบ:


229

คุณจะใช้forloop.last. ตัวอย่างเช่น:

<ul>
{% for item in menu_items %}
    <li{% if forloop.last %} class='last'{% endif %}>{{ item }}</li>
{% endfor %}
</ul>

2
ถ้ามีลูปซ้อนกันจะตรวจสอบวงในสุดหรือไม่
Tagar

4
นี่เป็นฟีเจอร์ของ Jinja เวอร์ชันใหม่หรือไม่? การรับ "เทมเพลตการแสดงผล: 'forloop' is undefined" ใน {% if not (forloop.last)%}, {% endif%}
Tagar

1
หากมีลูปซ้อนกันให้ใช้forloop.parentloopเพื่อเข้าถึงลูปที่อยู่รอบ ๆ วงปัจจุบัน ดังนั้นในการตรวจสอบการวนซ้ำครั้งสุดท้ายของลูปพาเรนต์เราสามารถforloop.parentloop.lastใช้ได้ ดูเอกสาร @Tagar
ndmeiri

ดังนั้นในระยะสั้นforloop.lastจะตรวจสอบการวนซ้ำครั้งสุดท้ายของวงในสุด
ndmeiri

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.