Jinja2模版过滤器

过滤器是通过管道符号(|)进行使用的,例如:{{ name|length }},将返回name的长度。过滤器相当于是一个函数,把当前的变量传入到过滤器中,然后过滤器根据自己的功能,再返回相应的值,之后再将结果渲染到页面中。Jinja2中内置了许多过滤器,现对一些常用的过滤器进行讲解:

  • abs(value):返回一个数值的绝对值。 例如:-1|abs

  • 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|escapecontent|e

  • first(value):返回一个序列的第一个元素。names|first

  • format(value,*arags,**kwargs):格式化字符串。例如以下代码:

    1. {{ "%s" - "%s"|format('Hello?',"Foo!") }}将输出:Helloo? - Foo!
  • wordcount(s):计算一个长字符串中单词的个数。

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

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

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

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

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

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

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

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

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

  • safe(value):如果开启了全局转义,那么safe过滤器会将变量关掉转义。示例:content_html|safe

  • join(value,d=u''):将一个序列用d这个参数的值拼接成字符串。

  • length(value):返回一个序列或者字典的长度。示例:names|length

  • last(value):返回一个序列的最后一个元素。示例:names|last

Flask的Jinja2模版过滤器的更多相关文章

  1. ansible基础-Jinja2模版 | 过滤器

    Jinja2模版介绍 注:本文demo使用ansible2.7稳定版 在ansible基础-变量的「8.2 模版使用变量」章节中关于模版与变量也有所提及,有兴趣的同学可以去回顾一下. ansible通 ...

  2. flask 渲染jinja2模版和传参

    渲染模版(html文件) A.模版文件(html)放入到template目录下,项目启动的时候会从template目录里查找, B.从flask中导入“render_tempalte”函数 C.在视图 ...

  3. 5 JInja2模版(适用于Django和Flask)

    模版 在生产环节下,我们要把后端程序(其实就是python)计算出来的数据和html页面结合起来做,这个时候模版就派上大用处了. Flask下的模版---Jinja2 Jinja是日本寺庙的意思,并且 ...

  4. flask的jinja2模板中过过滤器的相关小内容

    jinja2模板中有自带的过滤器,有需要直接拿来使用.也可以自己定义过滤器 在过滤器中,有一些常见得操作及关键字.有对字符串的操作,还有对大小写转换的操作.还有对list的操作 过滤器的语法 {# 过 ...

  5. 第四章 Jinja2模版

    模板简介: 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中的页面大多是带有样式和复杂逻辑的HTML代码,这可以让浏览器渲染出非常漂亮的页面.目前市面上有非常多的模板系统,其中最知名好用的 ...

  6. Jinja2模版语言自定义filter的使用

    Jinja2模版语言,自带有一些filter,能够在前端的模版中控制数据按照相应的方式显示.比如以下两种filter,分别能在前端控制数字的近似精度显示和根据字符串长度补齐: round(value, ...

  7. 【Flask】 Jinja2模板语言

    Jinja2 Jinja2是Python Web编程中的主流模板语言.因为flask是基于Jinja2和Werkzeug发展而来,在安装flask的时候jinja2自动就被装在上面了. 之前提到了很多 ...

  8. Flask基础(14)-->自定义过滤器

    Flask基础(13)-->自定义过滤器 什么是过滤器? 过滤器的本质就是函数.有时候我们不仅仅只是需要输出变量的值,我们还需要修改变量的显示,甚至格式化.运算等等,而在模板中是不能直接调用 P ...

  9. 2.flask模板--jinja2

    1.jinja2模板介绍和查找路径 import os from flask import Flask, render_template # 之前提到过在渲染模板的时候,默认会从项目根目录下的temp ...

随机推荐

  1. Java时间格式化年-月-日-时间

    Date d = new Date(); System.out.println(d); //Sat Mar 16 20:58:56 CST 2019 System.out.println(d.toLo ...

  2. 对比Node.js和Python 帮你确定理想编程解决方案!

    世上没有最好的编程语言.有些编程语言比其他编程语言用于更具体的事情.比如,你可能需要移动应用程序,网络应用程序或更专业化的系统,则可能会有特定的语言.但是我们暂时假设你需要的是一个相对来说比较简单的网 ...

  3. springboot rabbitmq消息同步用作接口调用

    1.引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...

  4. PAT Advanced 1110 Complete Binary Tree (25) [完全⼆叉树]

    题目 Given a tree, you are supposed to tell if it is a complete binary tree. Input Specification: Each ...

  5. ACwing算法基础课听课笔记(第一章,基础算法一)(二分)

    二分法: 在看这个视频前,我对于二分法是一头雾水的,又加上这个算法平常从来没写过所以打了一年了还没正式搞过.视频提到ACwing上的一道题,我用自以为聪明的方法去做,结果TLE了,实在丢人,不说了,开 ...

  6. dp高难本攻略

    903. DI 序列的有效排列 public int numPermsDISequence(String S) { int n=S.length(); int [][]dp=new int [n+1] ...

  7. split和join合写

    小骆驼 第一章 简介 1. // input 和截取字符 #!usr/bin/perl use strict; use warnings; while ( <> ) { chomp; pr ...

  8. webpack4+vue 打包 就是没效果?求解!!!

    开始对着视频操作 教学视频 用的webpack2 所以没成功  但是 Jquery 可以 成功渲染.Vue就不行. 百度 webpack4+vue打包简单入门:https://segmentfault ...

  9. 踩一踩win7安装neo4j的坑

    本文使用zip解压方式安装,下载社区版zip 解压到喜欢的文件夹,然后配置环境变量NEO4J_HOME=D:\neo4j-community-3.5.5(自己的解压目录) 配置Path=%NEO4J_ ...

  10. mysql my.cnf常用的配置

    [mysqld]basedir = /usr/local/mysql/datadir = /usr/local/mysql/dataport = 3306pid-file = /usr/local/m ...