Flaskでセッションの読み書きをやってみたメモ。
環境
- Python 3.5
- Flask 0.12
準備
from flask import Flask, session app = Flask(__name__) app.secret_key = 'hogehoge' @app.route('/') def index(): return 'hello' if __name__ == '__main__': app.run(debug=True)
ポイントは2つあって、from flask import Flask, session
で明示的にsessionをimportしている点と、app.secret_key
が必要な点。これがないと
RuntimeError: The session is unavailable because no secret key was set. Set the secret_key on the application to something unique and secret.
とエラーになる。
書き込み
簡単
session['name'] = '太郎'
読み込み
name = session.get('name')
session['name']
でも取得できるが、値がなかったときにエラーになるのでオススメしない。session.get()でなかった場合はNoneが返る。
第2引数に値を入れると初期値を入れることができる
session.get('name', '名無し')
削除
session.pop('name', None)