Django 标签

标签

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语句支持 andor、==、>、<、!=、<=、>=、innot inisis 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 %}
原文地址:https://www.cnblogs.com/ch2020/p/13060783.html