浮生梦,三生渺渺,因缘无踪,虽堪恋,何必重逢。息壤生生,谁当逝水,东流无终。
flash传递与获取数据
#coding:utf-8
# flash是生成传递数据,get_flashed_messages是获取传递过来的数据
from flask import Flask,flash,get_flashed_messages
import os
app = Flask(__name__)
app.config['SECRET_KEY'] = os.urandom(24)
@app.route('/')
def index():
user = 'langzi'
# 如果要传递数据,使用flash
# 传递过去的所有数据都会放在一个二维列表里面
flash(user)
return '<a href="/g">gogo</a>'
@app.route('/g/')
def g():
# res的值就是获取到的闪现消息
res = get_flashed_messages()
# 二维列表解开,获取到数据
res = [y for x in res for y in x]
return str(res)
if __name__ == '__main__':
app.run(debug=True)
首先导入相关的模块,和使用session一样。因为要在web中保持传递数据,需要设置加密的安全码。
然后访问首页的时候,会看到页面有一个gogo的点击链接,跳转到g页面,g页面的返回结果是langzi。
但是刷新g页面的话,就没数据了。这就是消息闪现的魅力,只能在两个页面中传递一次性的数据,传递和获取的方法都很简单。
flash本质上是传递短小消息的,如果传递的数据太大了就会变成空列表。
除了flash还有g,g是全局变量。使用方法一样的简单。在一个函数中设置g.uesr=’admin’,在另一个函数中只用g.user就可以获取前面设置的值,同理传递的数据不能太大了。