Flask:闪现; 请求扩展

一 .闪现

一 .什么是闪现

a 产生信息,传给 c 页面
但是用户访问a 页面以后,不是直接跳转到c,而是到b,或则是其他页面,但是用户访问c页面的时候,我希望把a给我的信息拿到

例如:假设在a页面操作出错,跳转到b页面,在b页面显示a页面的错误信息

二 使用

1.前提和注意点

1 如果要用flash就必须设置app.secret_key = 'asdfasdf'

2 在同一个路由视图函数中可以多次取值,但在一视图函数中取值过后再去另一个视图函数中在取就没有了

3 我们可以通过  flash('普通信息',category="i分类名"),对信息做分类

4get_flashed_messages(with_categories=True,category_filter("error",))
with_categories以键值对的形式获取;我们设置闪现,category_filter=("error",)进行分类信息的过滤

2.具体使用

from flask import Flask,flash,get_flashed_messages,request,redirect

app = Flask(__name__)
app.secret_key = 'asdfasdf'

@app.route('/index1')
def index():
    #(category="message", message))
    flash('超时错误',category="error")
    flash('普通信息',category="info")
    return "ssdsdsdfsd"
    # return redirect('/error')

@app.route('/error')
def error():
    data1 = get_flashed_messages(with_categories=True,category_filter=("error","info"))
    data2 = get_flashed_messages()
    data3 = get_flashed_messages(with_categories=True)
    data4 = get_flashed_messages(category_filter=("error","info"))
    print("data1",data1) # data1 [('error', '超时错误'), ('info', '普通信息')]
    print("data2",data2) # data2 ['超时错误', '普通信息']
    print("data3",data3) # data3 [('error', '超时错误'), ('info', '普通信息')]
    print("data4",data4) # data4 ['超时错误', '普通信息']
    return "错误信息"

if __name__ == '__main__':
    app.run()

二 请求扩展

链接:https://www.cnblogs.com/Hades123/p/11781182.html

1.before_request

类似于django中的process_request,在收到请求之后,进入视图函数之前,进行一些数据或者怎样的处理

  • 可写多个before_request函数
  • 从上往下执行的
  • 一旦有返回值,请求的视图函数不会执行,已经剩下的before_request不会执行

猜你喜欢

转载自www.cnblogs.com/tfzz/p/11845681.html