在
contexts
的键值对中,“键”是即将在模板中使用的变量,这个变量可以引用任何在视图函数中确定的对象。
模板语法,是根据
Django
的规定,在模板中使用通过
contexts
传入模板的数据对象。一般情况下有两类语法:一类是单独的变量,也称为变量标签;另一类是块命令,也称为块标签。
模板语言包括
- 变量
- 标签 { % 代码块 % }
- 过滤器
- 注释{# 代码或html #}
1、变量
{{ variable }}
- 当模版引擎遇到一个变量,将计算这个变量,然后将结果输出
- 变量名必须由字母、数字、下划线(不能以下划线开头)和点组成
- 当模版引擎遇到点(“.”),会按照下列顺序查询:
(1)字典查询,例如:foo[“bar”]
(2)属性或方法查询,例如:foo.bar
(3)数字索引查询,例如:foo[bar] - 如果变量不存在, 模版系统将插入’’ (空字符串)
2、标签
{ % tag % }
作用:
- 在输出中创建文本
- 控制循环或逻辑
- 加载外部信息到模板中供以后的变量使用
for 标签
{ %for ... in ...%}
循环逻辑
{{forloop.counter}}表示当前是第几次循环
{ %empty%}
给出的列表为空或列表不存在时,执行此处
{ %endfor%}
if标签
{ %if ...%}
逻辑1
{ %elif ...%}
逻辑2
{ %else%}
逻辑3
{ %endif%}
comment标签
{ % comment % }
多行注释
{ % endcomment % }
include标签
加载模板并以标签内的参数渲染
{ %include "foo/bar.html" % }
url标签
反向解析
{ % url ‘name’ p1 p2 %}
csrf_token标签
这个标签用于跨站请求伪造保护
{ % csrf_token %}