Flask filter过滤器
简单的数据集体添加样式输出用管道过滤,除了flask模块以外不需要导其他的包
<head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>filter过滤器的学习</title> </head> <body> safe 过滤器可以禁用转义 {{ '<strong>hello</strong>' | safe}}<br> 把大写字母转换成小写 {{ 'HELLO' | lower}}<br> 把小写字母转换成大写 {{ 'hello' | upper}}<br> 字符串反转 {{'asdfg' | reverse}}<br> 首字母大写,其余字母小写 {{'james' | capitalize}}<br> 过滤HTML标签 em斜体标签 {{ '<em>hello</em>' | striptags}}<br> 只显示list首个元素 {{[100,90,80,70,67] | first }}<br> 只显示list最后一个元素 {{[100,90,80,70,67] | last}}<br> 显示一个list的长度 {{[1,2] | length}}<br> 对list里面所有元素求和 {{[100,200] | sum}}<br> 对list进行排序 {{[0,9,7,4,6,3,9] | sort}}<br> 对语句块进行过滤 {% filter upper%} sadsadsadsaddmnvcdd,dasdas,ddddd,ddddddd,gggggggghgfhgfjghjgf {% endfilter %}<br> 过滤器嵌套使用 {{'abc' | upper | reverse}} </body> </html>
自定义过滤器:
# -*- encoding: utf-8 -*- # 网页模板需要导入render_template from flask import Flask, render_template app = Flask(__name__) app.config.from_pyfile('config.ini') #自定义过滤器 def my_filter(val): return "$" + str(val) #将自定义的过滤器函数,赋给模板,第一个参数是自定义过滤器的名称,第二个参数是在模板中调用的标识 app.add_template_filter(my_filter,'my_filter') @app.route('/') def index(): return render_template('day3_body.html') if __name__ == "__main__": app.run()
定义好之后直接在html文件用管道方法进行调用即可:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>自定义过滤器的使用</title> </head> <body> <div> 使用自定义过滤器 {{100 | my_filter}} </div> </body> </html>