Python Flask,Jinja2模板,自定義過濾器
阿新 • • 發佈:2019-01-01
demo.py(自定義過濾器):
# coding:utf-8 from flask import Flask, render_template # 匯入render_template app = Flask(__name__) @app.route("/index") def index(): my_list = [1, 2, 3, 4, 5] return render_template("index.html", my_list = my_list) # 模板變數以鍵值對的形式傳。 (Django中直接傳字典,Flask需要拆包) def list_step_2(li): """自定義的過濾器""" return li[::2] # 註冊過濾器 app.add_template_filter(list_step_2, "my_filter") # 第二個引數表示過濾器的名字。 @app.template_filter("my_filter2") # 引數表示過濾器的名字 # 註冊過濾器的第二種方式 def list_step_3(li): """自定義的過濾器""" return li[::3] if __name__ == '__main__': app.run(debug=True)
templates/index.html(模板,使用自定義的過濾器):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>模板</title> </head> <body> <p>{{my_list | my_filter }}</p> <!-- 使用自定義過濾器 --> <p>{{my_list | my_filter2 }}</p> </body> </html>