基于Django模板中的数字自增(详解)

yipeiwu_com6年前Python基础

Django框架的模板提供了{% for %} 标签来进行循环

例如对集合进行循环是比较简单的

{% for row in v1 %}
<div>{{row.name}}</div>
{% endfor %}

但是在Django中,并不直接支持形如"int i = 0;i<100;i++" 这样的循环,Django有自己的自增方法

假设v1内有2个元素

1,从1开始正向自增 结果1,2

{% for row in v1 %}
<div>{{forloop.counter}}</div>
{% endfor %}

2,从0开始正向自增 结果0,1

{% for row in v1 %}
<div>{{forloop.counter0}}</div>
{% endfor %}

3,自减到1 结果2,1

{% for row in v1 %}
<div>{{forloop.revcounter}}</div>
{% endfor %}

4,自减到0 结果1,0

{% for row in v1 %}
<div>{{forloop.revcounter0}}</div>
{% endfor %}

5,是否是最后一个 结果False,True

{% for row in v1 %}
<div>{{forloop.last}}</div>
{% endfor %}

6,是否是第一个 结果True,False

{% for row in v1 %}
<div>{{forloop.first}}</div>
{% endfor %}

7,如果有多层循环,返回上层循环的全部取值的结果

{% for i in v1 %}
{% for row in v1 %}
<div>{{forloop.parentloop}}</div>
{% endfor %} 
{% endfor %}

循环结果

以上这篇基于Django模板中的数字自增(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python基于ThreadingTCPServer创建多线程代理的方法示例

本文实例讲述了Python基于ThreadingTCPServer创建多线程代理的方法。分享给大家供大家参考,具体如下: #coding=utf8 from BaseHTTPServ...

使用Python+Splinter自动刷新抢12306火车票

使用Python+Splinter自动刷新抢12306火车票

一年一度的春运又来了,今年我自己写了个抢票脚本。使用Python+Splinter自动刷新抢票,可以成功抢到。(依赖自己的网络环境太厉害,还有机器的好坏) Splinter是一个使用Py...

python实现挑选出来100以内的质数

这里给大家分享的是使用python实现将100以内的质数挑选出来 代码非常简单,就不多废话了。 """ 使用filter将100以内的质数挑选出来 """ # coding =...

python变量的存储原理详解

python变量的存储原理详解

变量的存储 在高级语言中,变量是对内存及其地址的抽象。 对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而...

解决pip install的时候报错timed out的问题

安装包的时候报错,执行:pip install pyinstaller 问题: File "c:\python\python35\lib\site-packages\pip\_ven...