Flask中模板渲染中过滤器的定义: 过滤器顾名思义:就是通过设置条件,筛选出我们需要的数据,在Flask项目中,我们在定义模板时,往往需要对显示的数据进行筛选,这就使用到了我们的过滤器. *使用方法: 1.首先在程序中,通过函数编写过滤条件 2.再声明这属于过滤器 3.然后将过滤器应用对象名传入模板 4.在模板中,通过{{ 变量 | 过滤器名 }} 5.过滤器也可以使用多次{{ 变量 | 过滤器 | 过滤器 }} *

from flask import Flask,render_template

app = Flask(__name__)


@app.route("/")
def index():
    return render_template("temp-demo2.html")


# 方式一
# 自定义过滤器函数,命名不能与内置过滤器重名,不然会覆盖
# 自定义列表切片过滤器
def li_setup2(li):
    # 按照步长为2进行模板切片
    return li[::2]


# 通过模板过滤器注册两个参数(自定义过滤器函数名, 模板过滤器变量名)
app.add_template_filter(li_setup2, "li2")

# 方式二
# 通过装饰器传入模板过滤器名称,内部实现过滤器功能再返回,
# 模板直接调用过滤器名称即可
# 如下自定义一个列表反转过滤器
@app.template_filter("li_reverse")
def do_li_reverse(li):
    # 通过原列表创建一个新列表
    temp_li = list(li)
    # 将新列表进行反转
    temp_li.reverse()
    return temp_li


if __name__ == '__main__':
    app.run(debug=True)