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>
原文地址:https://www.cnblogs.com/Niuxingyu/p/10167797.html