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 使用场景
在某个位置放个值,过会在取出来