Django中{%for%}循環forloop用法(嵌套forloop.parentloop)

1. forloop.counter從1開始疊加

{% for item in items %}
<p>{{ forloop.counter }}: {{ item }}</p>
{% endfor %}

2. forloop.counter0從0開始疊加

{% for item in items %}
<p>{{ forloop.counter0}}: {{ item }}</p>
{% endfor %}

3. forloop.first 是個布爾值,第一次循環時爲 True

{% for object in objects %}
    {% if forloop.first %}
        <li class="first">
    {% else %}
        <li>
    {% endif %}
   	   {{ object }}
       </li>
{% endfor %}

4. forloop.last是個布爾值,最後一次循環時爲True

{% for link in links %}
    {{ link }}{% if not forloop.last %} | {% endif %}
{% endfor %}
<p>Favorite places:</p>
{% for p in places %}
    {{ p }}{% if not forloop.last %}, {% endif %}
{% endfor %}

5. forloop.parentloop

在嵌套的循環中, forloop.parentloop引用父級循環的 forloop 對象。

{% for country in countries %}
    <table>
    {% for city in country.city_list %}
        <tr>
        <td>Country #{{ forloop.parentloop.counter }}</td>
        <td>City #{{ forloop.counter }}</td>
        <td>{{ city }}</td>
        </tr>
    {% endfor %}
    </table>
{% endfor %}

6. forloop.revcounter

forloop.revcounter的值是一個整數,表示循環中剩餘的元素數量。第一次循環時, forloop.revcounter 的值是序列中要遍歷的元素總數。最後一次循環時, forloop.revcounter的值爲 1

7.forloop.revcounter0

forloop.revcounter0 與 forloop.revcounter類似,不過索引是基於零的。第一次循環時, forloop.revcounter0的值是序列中元素數量減去一。最後一次循環時, forloop.revcounter0 的值爲 0 。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章