flask 通過flash函式 實現 閃現資訊
這裡是基於 MVC jinjia2 模版
其實現在vue這麼簡單和強大...有空寫模版不如學個vue.
------------------------------------------------------------分隔線--------------------------------------------------------
閃現資訊就是 只展示一次的資料/引數.
應用:
比如進入首頁只刷一次的廣告.
先提供程式碼:
>>>>>>>>>>>>>flash.py>>>>>>>>>>>>>>>
# coding:utf-8 from flask import Flask,flash,render_template app = Flask(__name__) app.config["SECRET_KEY"] = "hskghsaklg" flag = True @app.route("/index") def index(): global flag if flag: # 用flash儲存要在模板中展示的閃現資訊 flash("hello world 0") flash("hello world 1") flash("hello world 2") flash("hello world 3") flash("hello world 4") flag = False return render_template("index.html") if __name__ == '__main__': app.run()
>>>>>>>>>>>>>>>>>>index.html>>>>>>>>>>>>>>>>>>>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> {% for msg in get_flashed_messages() %} <p>{{ msg }}</p> {% endfor %} </body> </html>
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
要使用閃現的話
首先你得在檢視函式當中存一下>>究竟都有哪些引數是需要進行展示的.
1. 先引入一個函式 flash,用於儲存你究竟都有哪些資訊需要展示
from flask import flash
2. 使用flash儲存,它實際上是儲存在哪裡呢?它實際上是暫時幫我們儲存在session裡面.
所以:
app.config["SECRET_KEY"] = "hskghsaklg"
3. 使用方法
在Flask中存:
flash("要展示的閃現資訊")
相對應的在html中取:
get_flashed_messages方法:
返回之前在Flask中通過 flash() 傳入的資訊列表。把字串物件表示的訊息加入到一個訊息佇列中,然後通過呼叫get_flashed_messages() 方法取出。
4. flash的原理清楚了以後.要實現閃現資訊就簡單了.
定義一個全域性變數flag =True
在檢視函式內展現一次資訊後改為False,通過if判斷就完成了閃現.
@app.route("/index")
def index():
global flag
if flag:
flash("hello world 0")
flash("hello world 1")
flash("hello world 2")
flash("hello world 3")
flash("hello world 4")
flag = False
return render_template("index.html")