在Django模板标签中,{% for %}的主要作用就是用来迭代序列中的各个元素与Python中for语句的使用类似,可以迭代列表,元组,字典等
1.使用下面模板标签显示book_list变量中的书籍(如图所示):
2.同样,{% for %}模板标签也可使用reversed反向迭代列表
3.判断是否为空,如果为空则显示特定内容:
第一种方法(使用 {% if %}{% else %}):
第二种方法(使用{% empty %}):
4.forloop的使用:
在{% for %}循环的内部,可以访问一个名为forloop的模板变量,通过这个变量我可以获知循环的进程
第一个:forloop.counter
forloop.counter的值是一个整数,表示的是循环的次数,而这个整数是从1开始计算的,所以当进行第一次循环的是时候forloop.counter的值是1
上图对应的输出结果:
第二个forloop.counter0和forloop.counter类似,只不过后者是从1开始计算的,而前者是从0开始计算的
第三个forloop.revcounter:
forloop.revcounter的值也是一个整数,表示循环中剩余的元素的数量,当进行第一次循环的时候forloop.revcounter的是索所要循环的序列的元素的总数,当进行最后一次循环的时候,forloop.revcounter的值是1
第四个forloop.revcounter0:
forloop.revcounter0和forloop.revcounter类似,只是它的索引是基于0开始的,当进行第一次循环的时候forloop.revcounter的值是所要勋循环的序列的元素总数减去一,当进行最后一次循环的时候它的值变成0
第五个forloop.first和forloop.last:这两个主要是用来判断是否是第一次循环和最后一次循环