八、jinja2-闪现消息

113 阅读1分钟

用户在发送一个请求后,网站可能需要给这个用户一些提示,如登录成功提示、登录失败提示,这时可以用闪现消息解决,使用闪现消息,需要先在视图函数中通过flash函数提交消息内容,消息内容可以有多条,然后在模版中使用get_flashed_messages函数获取视图函数中提交的消息内容,get_flashed_messages函数返回的是一个列表,因此需要用for循环或者通过下标取出消息内容,闪现消息的视图函数部分示例代码如下

from flask import Flask, render_template, flash

app = Flask(__name__)

app.config['SECRET_KEY']= "ewgnlwe&S;@@_==+"

@app.route('/flash')
def myflash():
    flash("我是消息1")
    flash("我是消息2")

    return render_template("flash.html")

if __name__ == '__main__':
    app.run(debug=True,host="0.0.0.0",port=8000)

因为闪现消息是存储在session中的,使用session之前必须要在APP.config中设置SECRET_KEY,如果没有设置SECRET_KEY,会出现如下报错

image.png

所以需要在app.config中随便设置一个字符串,代码如下

app.config['SECRET_KEY']= "ewgnlwe&S;@@_==+"
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>闪现消息</title>
</head>
<body>
<ul>
  {% for message in get_flashed_messages() %}
    <li>{{ message }}</li>
  {% endfor %}
</ul>
</body>
</html>

浏览器看到闪现消息如下

image.png