简单的服务器端Flask会话变量
问题描述:
在Flask中使用服务器端会话变量最简单的方法是什么?简单的服务器端Flask会话变量
变量值:
- 一个简单的字符串
- 不可见的客户端(浏览器)
- 不持久化到数据库 - 简单地消失在会话不见了
有一个内置瓶会话,但它的会话数据发送到客户端:
session["secret"] = "I can see you"
的数据base64编码和加密签名的cookie发送,但它仍然是微不足道的阅读客户端。
在许多框架,创建服务器端会话变量是一个一行,如:
session.secret = "You can't see this"
烧瓶解决方案,我发现到目前为止是相当繁琐和对处理大量的数据减速。有没有简单的轻量级解决方案?
答
我认为Flask-Session扩展是您正在寻找。
Flask-Session是Flask的扩展,它为您的应用程序添加了对服务器端会话的支持。
从链接的网站:
from flask import Flask, session
from flask.ext.session import Session
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')
http://flask.pocoo.org/snippets/132/除了跳过保存到磁盘。 – pvg
请向您的客户发送数据说明您的问题。几乎每个框架都使用cookie来拥有会话标识符/令牌。然后会话标识符可用于查找存储在本地数据库中的其他会话数据。这是你想要做的吗? – TheGreatContini
@TheGreatContini谷歌*“服务器端会话变量”*,并有成千上万的相关结果。只要** appservers **已存在,会话变量就已经存在。根据下面的答案,Flask有一个支持会话变量的插件。并非所有的瞬态数据都需要存储在本地数据库中。 –