###什么是过滤器
模板中有些变量没有办法直接拿来使用,需要处理之后才能使用。比如变量是小写的,我想用大写的。过滤器就是将没办法直接使用的变量,转换成能使用的函数。原理,就是将变量作为对象,传给函数,然后输出符合需求的变量。
###过期使用方法
固定格式为 ,{{variable|过滤器}}
###常用的过滤器
1.取参数的绝对值 abs
2.个性签名,
字典设置,为空的字符串
'signature1' : '', #如果直接设置 为 none,没有办法直接转化为bool,所以得用空的字符串
调用的时候,需要使用 default过滤器
<p>个性签名默认是{{ signature1|default('天下武术出少林',boolean = True) }}</p>
3.escape 转义字符
jinjia2中自动开转义。什么叫转义:html代码中,将 <>中间的内容,会认为是一个标签。如果变量中有这个,jinjia2会转义成字符串
如果想展示出来,需设置自动转义终止,语法为: {% autoescape off %} <p> {{ signature2 }},转义字符关闭,显示alert</p> {% endautoescape %}
以上闭合标签,支持在标签内的全部关闭自动转义。
4.safe
支持针对某个参数,单独关闭转义。基本语法 {{ signature2|safe }}
5.first last length
first可读取一个序列中一个值,,如 {{ person|first }}</p>,其实用{{ person[0] }},也可以实现
last获取最后一个值
length 返回列表 或字典 长度
6.formart 格式化字符串
<p>format格式化字符串,,如 {{"我的的名字是 %s"|format('hebi123') }}</p>
7.常用的还会有,join,int,string、lower,upper等
8.truncate,截取长度的字符串,比如hebi12312312,显示 hebi…
基本语法为
<p>truncate截取一定长度的字符串,,,如 {{signature|truncate(length=5) }}</p>