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")

猜你喜欢

转载自blog.csdn.net/he93007/article/details/78760091
今日推荐