Python之使用jinja2过滤器

过滤器的作用可以对模板中的一些数据变量进行处理展示功能,自带了一些可用的功能属性方法,比如变量没有值可用设置一个默认值,设置图片的矢量占位图等功能

  • 关于使用:

    • 在模板中关于属性都是使用双括号来括起来{{ 变量 }},关于过滤器就是在变量之后添加竖号|{{ 变量 | 过滤 }}
  • 一些常用的过滤器方法:

    • abs(value):返回一个数值的绝对值。
    • default(value,default_value,boolean=false):如果当前变量没有值,则会使用参数中的值来代替。name|default('xiaotuo')——如果name不存在,则会使用xiaotuo来替代。boolean=False默认是在只有这个变量为undefined的时候才会使用default中的值,如果想使用python的形式判断是否为false,则可以传递boolean=true。也可以使用or来替换。
    • escape(value)或e:转义字符,会将<、>等符号转义成HTML中的符号。例如:content|escape或content|e。
    • first(value):返回一个序列的第一个元素。names|first。
    • last(value):返回一个序列的最后一个元素。示例:names|last。
    • format(value,arags,*kwargs):格式化字符串。例如以下代码:
      {{ "%s" - "%s"|format('Hello?',"Foo!") }}将输出:Helloo? - Foo!
    • length(value):返回一个序列或者字典的长度。示例:names|length。
    • join(value,d=u''):将一个序列用d这个参数的值拼接成字符串。
    • safe(value):如果开启了全局转义,那么safe过滤器会将变量关掉转义。示例:content_html|safe。
  • int(value):将值转换为int类型。

  • float(value):将值转换为float类型。

  • lower(value):将字符串转换为小写。

  • upper(value):将字符串转换为大写。

  • replace(value,old,new): 替换将old替换为new的字符串。

  • truncate(value,length=255,killwords=False):截取length长度的字符串。

  • striptags(value):删除字符串中所有的HTML标签,如果出现多个空格,将替换成一个空格。

  • trim:截取字符串前面和后面的空白字符。

  • string(value):将变量转换成字符串。

  • wordcount(s):计算一个长字符串中单词的个数。


摘自原文地址

你可能感兴趣的:(Python之使用jinja2过滤器)