我正在构建一个数据分析瓶应用程序,我想允许用户将session
对象保存为本地文件系统上的文件(如果它们的会话在31天后过期)。最好的方法是什么?
我已经研究了session
对象的腌制,但看起来并不会将pickle发送到用户的计算机(pickle.dump
只是将pickle保存到托管应用程序的计算机上)。
答案 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应用程序相关但对用户无用的数据。相反,您可能希望编写一个仅为用户所需数据提供服务的端点。