标签
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 %}