Django模板系统
模板系统(template)
向页面中填充内容
-
模板系统常用符号{{}}和{%%}
如果在模板中需要解析变量使用{{}}.
如果在模板中进行逻辑相关操作使用{%%}
注释 {# … #},单行注释。 -
变量
在Django的模板系统中变量使用的语法:{{ 变量名 }}。
当模版引擎遇到变量,就会用值替换掉变量。
变量的命名可以是字母数字以及下划线 ("_")的组合。
变量名称中不能有空格或标点符号
例:将index页面中的{{name}}替换为张三。
demo01.html文件views.py文件
urls.py文件
注意:key的名称和模板中的变量名称相同。
扩展:使用locals()内置函数,可以将所有属性传递到指定页面
- 点(.)的特殊含义
点(.)在模板语言中有特殊的含义。当模版系统遇到点("."),它将以以下顺序查询:
字典查询 :如果向页面传递的是一个字典类型变量,变量名.key 获取值
属性或方法查询:如果传递一个对象,变量名.变量名
(此变量名有可能是属性,有可能是无参数方法名称)。
数字索引查询:如果传递一个列表,变量名.索引。
Filter过滤器
在Django的模板语言中,通过使用 过滤器 来改变变量的显示。(注:过滤器是函数)
过滤器的语法: {{ 变量名|过滤器名称:参数 }}
使用管道符"|"来应用过滤器。
例如:{{ name|lower }}会将name变量应用lower过滤器之后再显示它的值。lower在这里的作用是将文本全都变成小写。
- default 如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值。
{{ value|default:"nothing"}} #如果value没有传值或者值为空的话就显示nothing
- length 返回值的长度,作用于字符串和列表。
{{ value|length }}
- slice 切片
{{value|slice:"2:-1"}}
- date 日期格式化过滤器
{{ value|date:"Y-m-d H:i:s"}}
可用参数: