模板
变量
视图传递给模板的数据
语法{{ var }}
使用的变量不存在,插入空字符串
模板中使用点语法
字典
属性 方法
数字索引
调用对象的方法
不能传递参数
标签
语法
{ % tag % }
作用
输出中创建文本
控制逻辑和循环
if
{% if 表达式 %}
语句
{% endif %}
{% if 表达式 %}
语句
{% else %}
语句2
{% endif %}
{% if 表达式 %}
语句
{% elif 表达式2 %}
语句2
{% endif %}
for
{% for 变量 in 列表 %}
语句
{% empty %}
语句2
{% endfor %}
empty 列表为空时使用
{{ forloop.counter}]
第几次循环
comment
{% comment %}
注释内容
{% endcomment %]
ifequal/ifnotequla
是否相等 不相等
{% ifequal 值1 值2 %}
语句1
{% endifequal %}
两值相等执行语句1
{% ifequal 'a' ''a %}
'this is test'
{% endifequal %}
include
加载模板 以标签内的参数渲染
{% include 模板目录 参数1 参数2 %]
url
反向解析
子主题 1
[% url 'namespace:name' p1 p2 %]
csrf_token
用于跨站请求伪造保护
{% csrf_token %]
block extends
用于模板继承
autoescape
用于 HTML转义
{% autoescape off %}
{}
{% endautoescape %}
过滤器
{{ var 过滤器 }}
在变量被显示前 修改它
lower
{{ str | lower }]
upper
可以传递参数
join
列表 | join:'#'
如果 变量不存在 , 值为false , 空 , 可以使用默认值
default
{ var|default:'str' }}
转换日期为字符串
date
{{ dateVal | date:'y-m-d' }}
HTML转义
escape
运算
num = {}
{{ num | add:10 }}加
{{ num | add:-10 }}减
{% widthratio num 1 5 % }乘
{% widthratio num 5 1 % }除
模板继承
作用
可以减少页面内容的重复定义
block
在父模板中预留区域, 子模板去填充
{% block 标签名 %}
{% endblock 标签名 %}
extends
继承模板,写在模板文件第一行
{% extends 父模板路径 %}
HTML转义
{}
{% autoescape off %}
{}
{% endautoescape %}
关闭自动转义
CSRF
跨站请求伪造
防止 CSRF
{% csrf_token %}
领取专属 10元无门槛券
私享最新 技术干货