DJango模块语言(DTL)语法简单介绍
DTL
变量 {{ 变量 }},变量里面可以包含 .
标签{% 代码块 %}
过滤器 { { 变量|过滤器 }}
注释{# 代码块或者html都可以被注册 #}
变量
如果变量中含有点:则解析顺序如下
如{{book.id}}:
1. 当做一个字典处理
2. 属性或者方法查询(方法不用带小括号)
3. 当做列表或者元组查询,把id当做索引
4. 在模板中调用方法不能传递参数,因为模板里面不能写小括号.
标签
for标签
{ %for ... in ...%}
循环逻辑
{{forloop.counter}}表示当前是第几次循环
{ %empty%}
给出的列表为或列表不存在时,执行此处
{ %endfor%}
if标签
{ %if ...%}
逻辑1
{ %elif ...%}
逻辑2
{ %else%}
逻辑3
{ %endif%}
commnent
过滤器
1. 语法:{ { 变量|过滤器 }},例如{ { name|lower }},表示将变量name的值变为小写输出
2. 使用管道符号 (|)来应用过滤器
3. 通过使用过滤器来改变变量的计算结果
4. 可以在if标签中使用过滤器结合运算符
如:
{{if list1|length > 1}}
{{name|lower|upper}}
{{list|join:", "}}