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 ...
随机推荐
- DRF 01
目录 DRF 接口 概念 YApi接口文档 Postman接口测试 RESTful接口规范 URL设计 响应结果 响应状态码 数据状态码 数据状态信息 数据本身 五大请求方式 简单实现 DRF drf ...
- layui下拉多选formSelects使用方法
下载formSelects-v4插件(引入formSelects-v4.css和formSelects-v4.js) 下载地址:https://fly.layui.com/extend/formSel ...
- TypeScript入门九:TypeScript的模块
关于TypeScript模块的基本使用方法 Ts的模块化语法与ES6的语法基本是一致(关于一些细节特性没有测试,请各自自行测试),然后再由tsconfig.json的module字段来描述转码类型,具 ...
- mysql常用的存储引擎,MyISAM和InnoDB的对比
Mysql有多种存储引擎,最常用的有MyISAM和InnoDB这两种,每一种类型的存储引擎都有自已的特点,可以结合项目中数据的使用场景来进行了哪种存储引擎合适. 1:查看mysql数据库支持的存储引擎 ...
- navicat for oracle 导入xlsx文件提示无法打开xlsx文件
navicat for oracle 导入xlsx文件提示:无法打开xlsx文件 导入环境: navicat for oracle wps状态的xlsx文件 处理: 将wps状态的xlsx文件,打开方 ...
- tiny4412 串口驱动分析九 --- shell终端
作者:彭东林 邮箱:pengdonglin137@163.com 开发板:tiny4412ADK+S700 4GB Flash 主机:Wind7 64位 虚拟机:Vmware+Ubuntu12_04 ...
- linux 基础11-例行性命令
1. 什么是例行性命令 1.1 linux工作排程的种类: linux例行性命令主要有两种: at:仅执行一次就从linux的任务中取消 cron:将持续例行性的工作下去 1.2 系统常见的例行性命令 ...
- Ubuntu系统---开机总会显示错误报告处理
Ubuntu系统---开机总会显示错误报告处理 使用ubuntu16.04,开机总会显示错误报告,略烦人,查找方法关闭.一.临时关闭sudo service apport stop(重启后失效) 二. ...
- GPU显存释放
一.当程序没有运行,但GPU仍被占用, 可通过nvidia-smi查看,被占用的pid是什么 或通过sudo fuser -v /dev/nvidia* #查找占用GPU资源的PID 然后采用kill ...
- BCB 编写服务程序的一个注意事项
BCB编写服务,install报错的一个问题 今天编写了一个服务,最后INSTALL 的时候报错,如图: 经过近1小时的比较(俺过去写例子),居然无意中设置了一个属性 ...