一、常用标签
模板标签
标签在渲染的过程中提供任意的逻辑。这个定义是刻意模糊的。例如,一个标签可以输出内容,作为控制结构,例如 “if”语句或“for”循环从数据库中提取内容,甚至可以访问其他的模板标签。
标签语法:由{% %}来定义的,例如:{% tag %} {% endtag %}
常用标签
1、 if/elif/else:可以使用and/or/in/not/==/!=/<=/>=,来进行判断。ifequal/ifnotequal li = ['x', 'y', 'z']
2、 for...in...:跟python中的for...in...用法一样。
forloop.counter:当前迭代的次数,下标从1开始。 1,2,3
forloop.counter0:当前迭代的次数,下标从0开始。0,1,2
forloop.revcounter:当前迭代的次数,下标从大到小。3,2,1
forloop.revcounter0:当前迭代的次数,下标从大到小。2,1,0
forloop.first:返回bool类型,如果是第一次迭代,返回True,否则返回Flase。
forloop.last:返回bool类型,如果是最后一次迭代,返回True,否则返回Flase。
forloop.parentloop:如果发送多层for循环嵌套,那么这个变量返回的是上一层的for。
3、 for...in...empty...:如果没有数据,跳转到empty中。
4、 load:加载第三方标签,最常用的是{% load static %}。
5、 url:返回一个命名了的URL的绝对路径。
6、 with:缓存一个变量。
7、 autoescape:开启和关闭自动转义。