变量
- 变量作用:计算并输出上下文传入的数据
- 变量语法:
- {{ 变量 }}
- 变量名规则:由字母、数字、下划线和点组成
- 变量名不能以下划线开头
- 变量解析规则:当模版引擎遇到点如
book.name
,会按照下列顺序解析:- 1.字典
book['name']
- 2.先属性后方法,将
book
当作对象,查找属性name
,如果没有再查找方法name()
- 3.如果是格式为
book.0
则解析为列表book[0]
- 1.字典
- 如果变量不存在则插入空字符串
''
- 在模板中调用方法时不能传递参数
- 如果要使用带参数的方法,需要使用
过滤器
- 如果要使用带参数的方法,需要使用
变量演练
正则匹配urls
# 变量 url(r'^variable/$', views.variable),
视图
# 变量 def variable(request): # 字典:演练key取值 dict = {'age':'18'} # 模型对象:演练对象属性取值 book = BookInfo() book.name = 'zxc' context = {'dict':dict, 'book':book} return render(request, 'Book/variable.html', context)
模板
- 按照字典的键值取变量值
- 按照对象的属性取变量值
- 变量不存,取出空字符串
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>变量</title>
</head>
<body>
{#按照字典的键值取变量值#}
<h1>{{ dict.age }}</h1>
{#按照对象的属性取变量值#}
<h1>{{ book.name }}</h1>
{#变量不存#}
<h1>{{ book.page }}</h1>
</body>
</html>
浏览效果