2017-09-28 15 views
0

私はデータ解析フラスコアプリケーションを構築していますが、ユーザはsessionオブジェクトをローカルファイルシステム上のファイルとして保存したいと考えています(セッションが31日後に終了する場合)。これを行う最善の方法は何ですか?フラスコセッションをファイルとして保存する最も良い方法

sessionオブジェクトを漬け込みましたが、ピクルをユーザーのコンピュータに送信することはできません(pickle.dumpは、アプリケーションをホストするコンピュータにピクルを保存するだけです)。

答えて

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アプリケーションに関連するデータを含めることはできますが、ユーザーにとっては有用ではありません。代わりに、ユーザーが必要とするデータだけを処理するエンドポイントを作成したいと思うでしょう。

関連する問題