我们先看一个简单的例子,它可以遍历a_list列表中的每一个元素
{% for a in a_list %}
...
{% endfor %}
当然,for循环是支持嵌套的
{% for a in a_list %}
{% for b in a %}
...
{% endfor %}
{% endfor %}
通常在循环之前,我们要检验列表是不是空,如果是空就会抛出异常
{% if a_list %}
{% for a in a_list %}
{% for b in a %}
...
{% endfor %}
{% endfor %}
{% endif %}
当然,我们可以使用empty来替换上一步中的if标签,当列表为空的时候执行empty下面的代码
{% for a in a_list %}
//列表非空时执行
{% empty %}
//列表为空时执行
{% endfor %}
通常我们可以使用forloop.counter访问循环的次数,下面这段代码依次输出循环的次数,从1开始计数
{% for a in a_list %}
...
{{ forloop.counter }}
...
{% endfor %}
如果想要从0开始计数?用counter0
{% for a in a_list %}
{{ forloop.counter0 }}
{% endfor %}
怎么知道是不是最后一次循环,我们使用forloop.last,它是一个布尔值,如果是最后一次循环,它的值就是True
{% for a in a_list %}
...
{% if forloop.last %}
//这是最后一次循环
{% endif %}
{% endfor %}
当然也可以知道是不是第一次循环,我们用first,它也是布尔值
{% for a in a_list %}
...
{% if forloop.first %}
//这是第一次循环
{% endif %}
...
{% endfor %}