标签
for循环标签
1 循环一个字典 2 {% for key,value in d1.items %} 3 {{ forloop.counter }} 4 <li>{{ key }} -- {{ value }}</li> 5 {% endfor %}
for循环其他方法
1 forloop.counter 当前循环的索引值(从1开始),forloop是循环器,通过点来使用功能 2 forloop.counter0 当前循环的索引值(从0开始) 3 forloop.revcounter 当前循环的倒序索引值(从1开始) 4 forloop.revcounter0 当前循环的倒序索引值(从0开始) 5 forloop.first 当前循环是不是第一次循环(布尔值) 6 forloop.last 当前循环是不是最后一次循环(布尔值) 7 forloop.parentloop 本层循环的外层循环的对象,再通过上面的几个属性来显示外层循环的计数等 8 forloop.parentloop.counter
1 示例 2 {# {% for key,value in d1.items %}#} 3 {# {{ forloop.counter }}#} 4 {# <li>{{ key }} -- {{ value }}</li>#} 5 {# {% endfor %}#} 6 7 {# {% for key,value in d1.items %}#} 8 {# {{ forloop.counter0 }}#} 9 {# <li>{{ key }} -- {{ value }}</li>#} 10 {# {% endfor %}#} 11 12 {# {% for key,value in d1.items %}#} 13 {# {{ forloop.revcounter }}#} 14 {# <li>{{ key }} -- {{ value }}</li>#} 15 {# {% endfor %}#} 16 17 {# {% for key,value in d1.items %}#} 18 {# {{ forloop.revcounter0 }}#} 19 {# <li>{{ key }} -- {{ value }}</li>#} 20 {# {% endfor %}#} 21 22 {# {% for key,value in d1.items %}#} 23 {# {{ forloop.first }}#} 24 {# <li>{{ key }} -- {{ value }}</li>#} 25 {# {% endfor %}#} 26 27 28 <!-- forloop.parentloop示例 --> 29 {#<ul>#} 30 {# {% for dd2 in d2 %}#} 31 {# <li>#} 32 {# {% for ddd2 in dd2 %}#} 33 {# {{ forloop.parentloop.counter }}#} 34 {# {{ forloop.counter }}#} 35 {# <a href="">{{ ddd2 }}</a>#} 36 {# {% endfor %}#} 37 {##} 38 {# </li>#} 39 {# {% endfor %}#} 40 {#</ul>#} 41 42 <!-- empty示例 --> 43 {#<ul>#} 44 {# {% for foo in d3 %}#} 45 {# <li>{{ foo }}</li>#} 46 {# {% empty %}#} 47 {# <li>查询的内容啥也没有</li>#} 48 {# {% endfor %}#} 49 {##} 50 {#</ul>#}
if标签
1 {% if num > 100 or num < 0 %} 2 <p>无效</p> <!--不满足条件,不会生成这个标签--> 3 {% elif num > 80 and num < 100 %} 4 <p>优秀</p> 5 {% else %} <!--也是在if标签结构里面的--> 6 <p>凑活吧</p> 7 {% endif %} 8 9 if语句支持 and 、or、==、>、<、!=、<=、>=、in、not in、is、is not判断,注意条件两边都有空格。 10 11 12 1. Django的模板语言不支持连续判断,即不支持以下写法: 13 {% if a > b > c %} 14 ... 15 {% endif %} 16 2. Django的模板语言中属性的优先级大于方法(了解) 17 def xx(request): 18 d = {"a": 1, "b": 2, "c": 3, "items": "100"} 19 return render(request, "xx.html", {"data": d})
with标签
1 {% with total=business.employees.count %} 2 {{ total }} <!--只能在with语句体内用--> 3 {% endwith %} 4 5 {% with business.employees.count as total %} 6 {{ total }} 7 {% endwith %}