Làm cách nào để kiểm tra lần lặp lại vòng lặp cuối cùng trong mẫu Django?


100

Tôi có một câu hỏi cơ bản, bằng ngôn ngữ mẫu Django, làm thế nào bạn có thể biết bạn đang ở lần lặp vòng cuối cùng trong một forvòng lặp?

Câu trả lời:


228

Bạn sẽ sử dụng forloop.last. Ví dụ:

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

2
Nếu có các vòng lặp lồng nhau, nó sẽ kiểm tra vòng lặp bên trong nhất?
Tagar

4
Đây có phải là một tính năng của phiên bản Jinja mới hơn không? Nhận "mẫu hiển thị: 'forloop' là không xác định" trên {% if not (forloop.last)%}, {% endif%}
Tagar

1
Nếu có các vòng lặp lồng nhau, hãy sử dụng forloop.parentloopđể truy cập vòng lặp xung quanh vòng hiện tại. Vì vậy, để kiểm tra lần lặp cuối cùng của vòng lặp cha, người ta có thể sử dụng forloop.parentloop.last. Xem tài liệu . @Tagar
ndmeiri

Vì vậy, trong ngắn hạn, forloop.lastsẽ kiểm tra lần lặp cuối cùng của vòng lặp bên trong nhất.
ndmeiri

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.