2017-04-09 3 views
1

Flaskでサーバー側のセッション変数を使用する最も簡単な方法は何ですか?単純なサーバー側のFlaskセッション変数

変数値:

  1. クライアント(ブラウザ)に、単純な文字列
  2. は表示されません
  3. DBに永続化されません - セッションがあるとき、単にが消滅行った

ありフラスコセッション内蔵、それはクライアントにセッションデータを送信します。データはbase64でエンコードされ、暗号で署名されたクッキーに送信され

session["secret"] = "I can see you" 

が、まだ読みするのは簡単ですクライアント。

session.secret = "You can't see this" 

フラスコソリューション私がこれまでに見つかった、かなり面倒であり、データの大きなチャンクを扱う目指している:サーバー側のセッション変数を作成する多くのフレームワークで

は、のようなワンライナーであり、 。シンプルな軽量ソリューションはありますか?

+2

http://flask.pocoo.org/snippets/132/ディスクへの保存をスキップ除きます。 – pvg

+0

クライアントにデータを送信する際の問題を明確にしてください。ちょうどすべてのフレームワークは、セッション識別子/トークンを持つためにクッキーを使用しています。セッション識別子は、ローカルデータベースに格納されている他のセッションデータを検索するために使用できます。これはあなたがしたいことですか? – TheGreatContini

+0

@TheGreatContini Google * "サーバー側のセッション変数" *には、何千もの関連する結果があります。 ** appservers **が存在していれば、セッション変数は周りにあります。以下の答えに基づいて、Flaskにはセッション変数をサポートするプラグインがあります。すべての一時データをローカルデータベースに格納する必要はありません。 –

答えて

1

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') 
関連する問題