修改模板加入逻辑语句
If语句格式
可以使用and与or连接布尔类型,但是and与or不能合用
可以使用in运算
For语句格式
对字典进行遍历
1,forloop.counter表示循环的次数,它从1开始计数,第一次循环设为1,例如:
代码
1.{% for item in todo_list %}
2. <p>`forloop`.`counter `: ` item `</p>
3.{% endfor %}
2,forloop.counter0类似于forloop.counter,但它是从0开始计数,第一次循环设为0
3,forloop.revcounter表示循环中剩下的items数量,第一次循环时设为items总数,最后一次设为1
4,forloop.revcounter0类似于forloop.revcounter,但它是表示的数量少一个,即最后一次循环时设为0
5,forloop.first当第一次循环时值为True,在特别情况下很有用:
代码
1.{% for object in objects %}
2. {% if forloop.first%}<li class="first">{% else %}<li>{% endif %}
3. ` object `
4. </li>
5.{% endfor %}
6,forloop.last当最后一次循环时值为True
代码
1.{% for link in links %}` link `{% if not forloop.last %} | {% endif %}{%endfor %}
7,forloop.parentloop在嵌套循环中表示父循环的forloop:
代码
1.{% for country in countries %}
2. <table>
3. {% for city incountry.city_list %}
4. <tr>
5. <td>Country#` forloop`.`parentloop`.`counter ` </td>
6. <td>City#` forloop`.`counter `</td>
7. <td>`city `</td>
8. </tr>
9. {% endfor %}
10. </table>
11.{% endfor %}
富有魔力的forloop变量只能在循环中得到,当模板解析器到达{% endfor %}时forloop就消失了
如果你的模板context已经包含一个叫forloop的变量,Django会用{% for %}标签替代它
Django会在for标签的块中覆盖你定义的forloop变量的值
在其他非循环的地方,你的forloop变量仍然可用
我们建议模板变量不要使用forloop,如果你需要这样做来访问你自定义的forloop,你可以使用forloop.parentloop