【发布时间】:2019-04-05 08:21:28
【问题描述】:
我正在 Heroku 上部署一个 Flask 应用程序,由于各种原因需要实现服务器端会话,但我不知道如何正确设置它。 Heroku 的 docs 关于如何连接非常简约:
import os
import redis
r = redis.from_url(os.environ.get("REDIS_URL"))
我正在尝试使用Flask-Session extension 来运行它。根据他们的快速入门示例:
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'
我对两者的连接方式感到困惑,因为在后一个示例中甚至没有导入 redis 模块。在 Flask-session 页面上进一步阅读,有一个“扩展也理解的配置键列表:”表,其中一个是“SESSION_REDIS”,描述为“A redis.Redis例如,默认连接到 127.0.0.1:6379"。我猜这是 Heroku 文档中的实例 (r),但是“扩展理解的键”这句话让我不知道如何处理它。
【问题讨论】: