Flask基础(二)---模板渲染中的过滤器定义

Flask中模板渲染中过滤器的定义:

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)

猜你喜欢

转载自blog.51cto.com/10412806/2117836