在Flask中拥有服务器端会话变量的最简单方法是什么?
变量值:
- 简单的字符串
- 客户端不可见(浏览器)
- 不会持久存储到数据库 - 只是在会话消失时消失
有一个内置的Flask会话,但它将会话数据发送到客户端:
session["secret"] = "I can see you"
数据是base64编码的,并以加密签名的cookie发送,但在客户端上读取仍然很简单。
在许多框架中,创建服务器端会话变量是一个单行,例如:
session.secret = "You can't see this"
到目前为止,我发现的Flask解决方案非常繁琐,适合处理大量数据。有简单的轻量级解决方案吗?
我认为Flask-Session扩展是您正在寻找的。
Flask-Session是Flask的扩展,它为您的应用程序添加了对服务器端Session的支持。
来自链接的网站:
from flask import Flask, session
from flask_session import Session # new style
# from flask.ext.session import Session # old style
app = Flask(__name__)
# Check Configuration section for more details
SESSION_TYPE = 'redis'
app.config.from_object(__name__)
Session(app)
@app.route('/set/')
def set():
session['key'] = 'value'
return 'ok'
@app.route('/get/')
def get():
return session.get('key', 'not set')