将烧瓶会话保存为文件的最佳方法

时间:2017-09-28 16:23:53

标签: python session flask

我正在构建一个数据分析瓶应用程序,我想允许用户将session对象保存为本地文件系统上的文件(如果它们的会话在31天后过期)。最好的方法是什么?

我已经研究了session对象的腌制,但看起来并不会将pickle发送到用户的计算机(pickle.dump只是将pickle保存到托管应用程序的计算机上)。

1 个答案:

答案 0 :(得分:2)

会话是一本字典。添加将会话转储到JSON的端点,并将其作为文件下载提供。

@app.route('/download_session')
def download_session():
    r = jsonify(dict(session))
    r.headers.set('Content-Disposition', 'attachment', filename='session.json')
    return r

但这似乎并不是一个好主意。如果您在会话中放置了足够的数据,用户会关注它,那么您在会话中会投入太多。此外,会话可以包含与Web应用程序相关但对用户无用的数据。相反,您可能希望编写一个仅为用户所需数据提供服务的端点。