jinja2模板中有自带的过滤器,有需要直接拿来使用。也可以自己定义过滤器

在过滤器中,有一些常见得操作及关键字。有对字符串的操作,还有对大小写转换的操作。还有对list的操作
过滤器的语法
{# 过滤器调用方式 {{ 变量 | 过滤器的名称 }} #} 这里用到了注释模板中的注释

首先整理一下关键字
字符串:
1.对大写转换为小写,lower。相对的,那么就有小写转换为大写,upper。
那么还有是首字符大写,captialize,这个单词在字符串的操作中出现过
2.还有一个转义。如果在输出中出现了html标签,那么在输出的时候我又不想显示标签,我只想要标签给我达到的效果,
而不需要看到标签的出现,就需要转义
比如:
safe过滤器,可以禁用转义
{{ '<strong>hello</strong>' | safe }}
我们这里用到了safe的关键字。hello就会在输出的时候变为粗体
在这里要提到另一个过滤器的关键字。striptage
比如:
过滤所有的html标签,em标签是斜体。跟转义没有任何关系,只是在过滤标签,把所有文本中的标签过滤掉
{{ '<em>hello</em>' | striptags }}
放在这里是要对禁止转义有个区别,safe是实现标签的功能,不输出标签,striptage是把标签过滤掉,只输出文本

3.字符串反转用到reverse
{{ '来一个反转' | reverse }}

list的相关过滤及关键字:
1.我们可以拿到列表中的首个元素,first
{{ [100,99,65] | first }}
2.相对的,我们就可以拿到末尾的元素 last
{{ [100,90,520] | last }}
3.我们也可以对list量取长度。length
{{ [1,2] | length }}
4.如果list中的元素都为int。也可以求和 sum
{{ [100,200] | sum }}
5.list中的int杂乱无序,也可以将list排序 sort
{{ [12,3,4,56,7,89,8,76,5] | sort }}

以上的都是对单个的来说,那么对于语句块来说也可以使用,对英文都转换为小写,或者大写都可以
{% filter upper %}
hello world hello python hello flask hello jinja2 hello myself hello my broter
{% endfilter upper %}
需要注意的是,要有结束

既然单个的使用过滤器,我们是不是也可以一起配合使用,是的,就会有链式过滤,也就是嵌套过滤,需要注意的是执行顺序
链式调用(嵌套的使用过滤器)
{{'abcdefg' | reverse | upper }} 双管道调用,先反转。后大写
{{'abcdefg' | upper | reverse }} 执行的顺序。谁先谁后要取决先调用了哪个关键字

jinja2模板给我们有很多的过滤器选择,但是我们也可以自己定义过滤器,首先需要在py文件中配置
所需要的过滤器。一切代码都是为了业务,代码也是实现业务的需求
需要注意的是在函数中我们要带有参数,这个参数类似于jquery中的filter所需要带的参数

# 自定义一个过滤器
def my_filter(val):
return '$' + str(val)
# 把自定义的过滤器赋给模板,第一个参数是自定义的过滤器的名称,第二个是过滤器的名称
# 这里调用 add_template_filter 这个方法。来对方法名进行传递。
app.add_template_filter(my_filter, 'my_filter')

flask的jinja2模板中过过滤器的相关小内容的更多相关文章

  1. Flask的jinja2模板中自定义过滤器的使用

    大部分的模板引擎都是支持过滤器功能的,jinja2也不例外,它提供了丰富的内置过滤器,但是有些时候还是没办法满足我们的需求,好在jinja2支持自定义过滤器,下面是一个简单的例子. 下面的例子完成了自 ...

  2. flask框架下的jinja2模板引擎(2)(过滤器与自定义过滤器)

    flask框架下的jinja2模块引擎(1):https://www.cnblogs.com/chichung/p/9774556.html 这篇论文主要用来记录下 jinja2 的过滤器. 什么是过 ...

  3. 【Flask】 Jinja2模板语言

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

  4. flask之jinja2模板语言

    一.jinja2简单介绍 Jinja2是Python里一个被广泛应用的模版引擎,他的设计思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能.其中最显著的一个是增加了沙箱执行功能和可选的 ...

  5. Django 模板中 变量 过滤器的使用方法

    一.变量       1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量.    2.使用dot(.)能够访问变量的属性    3.当模板引擎碰到dot的 ...

  6. Django 模板中 变量 过滤器 标签 的使用方法

    一.变量       1.变量的形式是:{{variable}}, 当模板引擎碰到变量的时候,引擎使用变量的值代替变量.    2.使用dot(.)能够访问变量的属性    3.当模板引擎碰到dot的 ...

  7. 测试开发之Django——No7.Django模板中的过滤器

    1.add 将参数添加到值. 例如: {{ value|add:"2" }} 如果value是4,那么输出将是6. 此过滤器将首先尝试将两个值强制转换为整数.如果失败,它将尝试将值 ...

  8. Vue基础-在模板中使用过滤器

    Vue 测试版本:Vue.js v2.5.13 官网给了过滤器的两种使用方式: 1.你可以在一个组件的选项中定义本地的过滤器: 结合实例,我给两个代码: <div id="app&qu ...

  9. 十二:jinja2模板中使用url_for

    在页面中,有点击跳转到另一个地址的时候,可以使用url_for来指定要跳转的视图函数:{{ url_for('view_function') }} 如果该视图需要接收参数

随机推荐

  1. SAP CX Upscale Commerce : SAP全新推出的电商云平台

    大家好,我是Andy Chen,是SAP成都研究院年轻的SAP CX Upscale Commerce (后面将会以Upscale简称)开发团队的一名产品经理.CX的全称是Customer Exper ...

  2. UE4的csv文件导入、URL地址的读取及动态材质的设置

    1.csv文件的导入 UE4是可以直接导入csv文件的,其过程和其他文件资源(图片Texture,静态网格物体StaticMesh等)相似,但在导入过程中有一些需要注意的点. 如下图所示 这是一份编辑 ...

  3. 使用Linux进行缓冲区溢出实验的配置记录

    在基础的软件安全实验中,缓冲区溢出是一个基础而又经典的问题.最基本的缓冲区溢出即通过合理的构造输入数据,使得输入数据量超过原始缓冲区的大小,从而覆盖数据输入缓冲区之外的数据,达到诸如修改函数返回地址等 ...

  4. jdk8环境下,添加重复注解的美好体验

    为了实现业务层缓存,定义了几个注解:@Cache.able.@Cache.put.@Cache.del 分别实现对业务方法的 缓存检测.缓存插入 和 缓存清除. public @interface C ...

  5. Hive学习之路 (十二)Hive SQL练习之影评案例

    案例说明 现有如此三份数据:1.users.dat 数据格式为: 2::M::56::16::70072, 共有6040条数据对应字段为:UserID BigInt, Gender String, A ...

  6. linux下ab网站压力测试命令

    http://domain:代表压测域名.   get方法压测:        1)一般get方法压测简单,直接后缀url就ok了,参数直接挂在url后面的?a=1&b=2,         ...

  7. virtualbox+vagrant学习-2(command cli)-7-vagrant login命令

    Login ⚠️该命令已经弃用了,别名为vagrant cloud auth login.看本博客的 格式: vagrant cloud auth login [options] 登录命令用于使用Ha ...

  8. virtualbox+vagrant学习-2(command cli)-6-vagrant init命令

    Init——创建Vagrantfile文件 格式: vagrant init [options] [name [url]] 通过创建初始的Vagrantfile文件(如果不存在的话),将当前目录初始化 ...

  9. 单片机C程序优化

    单片机C程序优化 对程序进行优化,通常是指优化程序代码或程序执行速度.优化代码和优化速度实际上是一个予盾的统一.一般是优化了代码的尺寸,就会带来执行时间的增加:如果优化了程序的执行速度,通常会带来代码 ...

  10. jquery animate() Alternate 语法

    前段时间在使用jQuery的animate() 函数时候用到Alternate方式.主要是要让数字自增到指定大小,且能看见数字增加过程. 一般使用如下方式: function autoPlusAnim ...