一、模板系统(template)
向页面中填充内容。
1、模板系统常用符号{{}}和{%%}
- 如果在模板中需要解析变量使用{{}}.
- 如果在模板中进行逻辑相关操作使用{%%}
- 注释 {# … #},单行注释。
2、变量
- 在Django的模板系统中变量使用的语法:{{ 变量名 }}。
- 当模版引擎遇到变量,就会用值替换掉变量。
- 变量的命名可以是字母数字以及下划线 ("_")的组合。
- 变量名称中不能有空格或标点符号。
练习1:将index页面中的{{name}}替换为张三
demo01.html文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
大家好我叫{{ name }}我来自沈阳。
</body>
</html>
views.py文件
def demo01(request):
return render(request,'demo01.html',{'name':"张三"})
注意:key的名称和模板中的变量名称相同。
urls.py文件
urlpatterns = [
path('admin/',admin.site.urls),
path('demo01',views.demo01), # 将{{name}}替换成张三
]
3、点(.)的特殊含义
点(.)在模板语言中有特殊的含义。当模版系统遇到点("."),它将以以下顺序查询:
- 字典查询 :如果向页面传递的是一个字典类型变量,变量名.key 获取值
- 属性或方法查询:如果传递一个对象,变量名.变量名(此变量名有可能是属性,有可能是无参数方法名称)。
- 数字索引查询:如果传递一个列表,变量名.索引。
二、Filters(过滤器)
1、default
如果一个变量是false或者为空,使用给定的默认值。 否则,使用变量的值。
{{ value|default:"nothing"}}
如果value没有传值或者值为空的话就显示nothing
2、length
返回值的长度,作用于字符串和列表。
{{ value|length }}
返回value的长度,如 value=[‘a’, ‘b’, ‘c’, ‘d’]的话,就显示4.
{#显示字符串长度#}
{{ s1 }}-->>{{ s1|length }}
3、slice
切片
格式:{{value|slice:"2:-1"}}
{#字符串切片#}
{{ s2 }}-->{{ s2|slice:'0:3' }}
4、date
日期格式化过滤器
格式:{{ value|date:"Y-m-d H:i:s"}}
{#时间#}
{{ time }}-->{{ time|date:'Y-m-d H:i:s' }}
5、cu’t
移除value中所有的与给出的变量相同的字符串
格式:{{ value|cut:' ' }}
,如果value为’i love you’,那么将输出’iloveyou’.
{#cut#}
{{ s3 }}-->{{ s3|cut:' ' }}
6、join
使用拼接符连接列表,例如Python的str.join(list)
格式: {{value|join:”_”}}
{#join#}
{{ s4 }}-->{{ s4|join:'_' }}
注意事项:
1.’|'左右没有空格
2.django的模板语言中提供了大约六十个内置过滤器。