前面在前面我们已经使用了模板,模板由静态html文件和动态变量组成,动态变量就是由模板语言来生成
一,模板变量
模板变量的作用是计算并输出,变量名必须由字母、数字、下划线(不能以下划线开头)和点组成。
语法如下:
当模版引擎遇到点如book.title,会按照下列顺序解析:
二,模板标签
语法如下:
for标签语法如下:
下面的代码是查询出book里面的所有对象并显示在li标签里:
if标签语法如下:
if 需要有个结尾:endif
比较运算符如下:
布尔运算符如下:
三,过滤器
语法如下:
使用管道符号|来应用过滤器,用于进行计算、转换操作,可以使用在变量、标签中。
如果过滤器需要参数,则使用冒号:传递参数
长度length
,返回字符串包含字符的个数,或列表、元组、字典的元素个数。
默认值default
,如果变量不存在时则返回默认值。
日期date
,用于对日期类型的值进行字符串格式化,常用的格式化字符如下:
四,自定义过滤器
1,创建templatetags包
当系统内部的过滤器不能满足我们的需求的时候我们可以自定义过滤器
在程序目录下新建templatetags
的包(注意这个名字固定,不能随便改):
过滤器就类似函数,继续在templatetags,新建pyhton文件,这个可以随便命名:
2,引入LIbrary库
3,实例化Library对象
4,写一个判断是否为偶数的过滤器函数,并用@register.fiter进行修饰
这样我们自定义的修饰器就写完了
5,使用
加载过滤器,这里写自己刚刚创建的名称
五,注释
在模板中使用如下模板注释,这段代码不会被编译,不会输出到客户端;html注释只能注释html内容,不能注释模板语言。
1)单行注释语法如下:
2)多行注释使用comment标签,语法如下: