15 flask之闪现

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

假设在根路径下出错,跳转到test页面

1 方法一

main.py

# -*- coding: utf-8 -*-
# @Time    : 2021/12/13 20:03
# @Author  : dzg
from flask import Flask, url_for, redirect, request

app = Flask(__name__)

app.secret_key = 'dddddddddd'


@app.route('/')
def index():
    error = '出错了'
    url = url_for('test')
    url = url + '?error=%s' % error
    print(url)
    return redirect(url)


@app.route('/test/', methods=['GET', 'POST'])
def test():
    error = request.args.get('error')
    print(error)
    return 'ok'


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

 

 此方法不好之处在于url里看到了出错信息

2 方法二:使用flask闪现

main.py

# -*- coding: utf-8 -*-
# @Time    : 2021/12/13 20:03
# @Author  : dzg
from flask import Flask, url_for, redirect, request, flash, get_flashed_messages

app = Flask(__name__)

app.secret_key = 'dddddddddd'


@app.route('/')
def index():
    flash('出错了')
    url = url_for('test')
    return redirect(url)


@app.route('/test/', methods=['GET', 'POST'])
def test():
    error = get_flashed_messages()
    print(error)
    return 'ok'


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

 

 

 

 

3 设置值

  • flash('aaa')
  • 有分类:flash('出错了1',category='x1')

4 取值

一旦取过一次,在另一个视图函数中再取就没了

  • get_flashed_messages()
  • 根据分类取值,get_flashed_messages(category_filter=['x1', 'x2'])

 

5 使用场景

在某个位置放个值,过会在取出来

posted @ 2022-03-24 21:22  甜甜de微笑  阅读(43)  评论(0编辑  收藏  举报