jinja2-过滤器
过滤器
过滤器是个函数,参数就是管道(pipe)前面那个变量。比如 123|myfilter,123就是myFilter的参数。如果需要两个参数,则在myFilter后面加(),即123|myFilter(234)
主要作用就是 可以在模板中以管道的方式用pyhton的代码处理字符串,过滤器用 | 来使用
过滤器编写
filter函数写在app.run前,注册在app.jinja_env.filters中,比如
app = Flask(__name__)
# convert dict to string
def json_dumps(dict):
result = json.dumps(dict)
return result
# return type of arg
def typeFilter(arg):
result = type(arg)
return result
env = app.jinja_env
env.filters['json_dumps'] = json_dumps
env.filters['typeFilter'] = typeFilter
测试代码
<body>
dict is {{ dict|typeFilter}}
<hr>
dict | json_dumps is{{ dict|json_dumps |typeFilter}}
<hr>
you can use json_dumps filter to send dict to js,remember to add safe filter,<br>
press f12 to test it
</body>
<script>
//you can use json_dumps filter to send dict to js,remember to add safe filter
console.log({{ dict |json_dumps|safe}})
</script>
内置过滤器
capitalize(s)¶ 首个字母大写
Capitalize a value. The first character will be uppercase, all others lowercase.
dictsort(value, case_sensitive=False, by='key') 字典排序
Sort a dict and yield (key, value) pairs. Because python dicts are unsorted you may want to use this function to order them by either key or value:
{% for item in mydict|dictsort %}
sort the dict by key, case insensitive {% for item in mydict|dictsort(true) %}
sort the dict by key, case sensitive {% for item in mydict|dictsort(false, 'value') %}
sort the dict by key, case insensitive, sorted
normally and ordered by value.
escape(s) 字符转义
Convert the characters &, <, >, ‘, and ” in string s to HTML-safe sequences. Use this if you need to display text that might contain such characters in HTML. Marks return value as markup string.
jinja2-过滤器的更多相关文章
- 自定义jinja2 过滤器
今天,我们要讲的是自定义jinja2 过滤器这个知识点,因为官方文档对此一代而过,讲得不够清楚,所以我们专门拿出来讲一下. 例子 例子写了两个自定义过滤器,一个是转换字典到字符串的过滤器,一个是返回当 ...
- Ansible15:文件管理模块及Jinja2过滤器
目录 常用文件管理模块 1. file 2. synchronize 3. copy 4. fetch 5. lineinfile 6. stat 7. blockinfile Jinja2模板管理 ...
- Flask 页面缓存逻辑,jinja2 过滤器,测试器
回调接入点-页面缓存逻辑 from flask import Flask,request,render_template from werkzeug.contrib.cache import Simp ...
- flask的jinja2过滤器使用:遍历索引指定标签class属性,实现样式变化
在flask项目中实现上图效果,采用使用自定义过滤器的形式对 span 标签的 class 指定. 1.定义过滤器 # common.py def do_index_class(index): &qu ...
- Ansible 小手册系列 十三(Jinja2)
用于playbook中的jinja 2过滤器 更改数据格式,其结果是字符串 {{ some_variable | to_json }} {{ some_variable | to_yaml }} 对于 ...
- 2.jinja2
1.jinja2模板介绍和查找路径 from flask import Flask, render_template import os # 之前提到过在渲染模板的时候,默认会从项目根目录下的temp ...
- 2.flask模板--jinja2
1.jinja2模板介绍和查找路径 import os from flask import Flask, render_template # 之前提到过在渲染模板的时候,默认会从项目根目录下的temp ...
- 009.Ansible模板管理 Jinja2
一 Jinja2简介 Jinja2是基于python的模板引擎. 假设说现在我们需要一次性在10台主机上安装redis,这个通过playbook现在已经很容易实现.默认情况下,所有的redis安装完成 ...
- 3 jinja2模板
video17 jinja2过滤器 过滤器通过管道符号进行使用.如{{ name | length }}将返回name的长度,过滤器相当于是一个函数. 1 def hello_world(): 2 i ...
- Flask(8)- jinja2 模板入门
前言 之前的文章有个栗子,视图函数可以直接返回一段 html 代码,浏览器可以自动渲染 但是当你的 HTML 非常复杂的话,也要整串写在代码里面吗,这显然不合理的,可阅读性也非常差 所以,就诞生了 J ...
随机推荐
- 关于mysql 自增长 主键
我遇到过 我这样建表 ![](http://images2017.cnblogs.com/blog/1128666/201709/1128666-20170917222547078-151122413 ...
- js基本对象
1.介绍js的基本数据类型 Undefined.Null.Boolean.Number.String 2.js有哪些内置对象? 数据封装类对象:Object.Array.Boolean.Number ...
- MFC如何显示位图
1. 资源文件中加载 bmp 2.1. 静态加载图片 在属性下设置为如下即可 2.2 动态加载图片 其中要在控件中添加CStatic变量,并且属性设置为如下 并且在按钮控件中加入 如下代码 void ...
- JS/js是什么?
JavaScript 是一种专为与网页交互而设计的脚本语言,由下列三个不同的部分组成: ECMAScript,由 ECMA-262 定义,提供核心语言功能; 文档对象模型(DOM),提供访问和操作网页 ...
- 使用vue国际化中出现内置的组件无法切换语言的问题(element-ui、ivew)
在main.js中引入对应组件的语言包 eg: import VueI18n from 'vue-i18n'; // 引入国际化 import elementEn from 'element-ui/l ...
- Java 之 泛型
一.泛型概述 集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成 Object 类型.当我们取出一个对象,并且进行相应的操作,这时必须采用类型转换. 先观察下面代码: publ ...
- redis slot 槽点
Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求 ...
- python 将GIF拆分成图片方法
import os from PIL import Image, ImageSequence def parseGIF(gifname): # 将gif解析为图片 # 读取GIF im = Image ...
- Vue下的package.json
{ "name": "demo2", "version": "1.0.0", "description&quo ...
- mongoDB的基本操作之数据更新
查询了解后,我们还要了解下如何进行数据的更新,在mongodb中,数据的更新是用update方法,update至少接收两个参数,一个是要查找的记录条件,一个是更新之后的数据,我们现在查找x为1的数据 ...