[Python] FlaskアプリケーションでCookieを扱う方法
こんにちは、@yoheiMuneです。
先日、[Python] 軽量WebフレームワークのFlaskに入門(準備、起動、HTML、静的ファイル、GET、POSTなど)で入門記事を扱いましたが、今回はFlaskでのCookieの扱い方をブログに書きたいと思います。
http://flask.pocoo.org/docs/0.10/api/#flask.Response.set_cookie
http://flask.pocoo.org/docs/0.10/api/#flask.Request.cookies
最後になりますが本ブログでは、Python・Swift・Java・フロントエンド・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!
先日、[Python] 軽量WebフレームワークのFlaskに入門(準備、起動、HTML、静的ファイル、GET、POSTなど)で入門記事を扱いましたが、今回はFlaskでのCookieの扱い方をブログに書きたいと思います。
目次
FlaskでCookieを扱う
Flaskではrequest
オブジェクトやresponse
を通してクッキーを扱うことができます。Cookieをセットする
response
オブジェクトを通してCookieを設定することができます。
# make_responseをインポート from flask import Flask, make_response app = Flask(__name__) @app.route('/') def index(): content = "**レスポンス内容**" # make_responseでレスポンスオブジェクトを生成する response = make_response(content) # Cookieの設定を行う max_age = 60 * 60 * 24 * 120 # 120 days expires = int(datetime.now().timestamp()) + max_age response.set_cookie('uid', value="**ユーザーIDなど**", max_age=max_age, expires=expires, path='/', domain=domain, secure=None, httponly=False) # レスポンスを返す return responseポイントとしては、
make_response
でレスポンスオブジェクトを作成して、それに対してset_cookie
を呼び出すことでCookieを指定しています。set_cookie
の詳細は、以下を参照ください。http://flask.pocoo.org/docs/0.10/api/#flask.Response.set_cookie
Cookieを取得する
続いて、Cookieの取得部分です。こちらはrequest
オブジェクトを利用します。# requestをインポート from flask import request @app.route('/foo') def foo(): # requestオブジェクトからCookieを取得する uid = request.cookies.get('uid', None) # 以下省略ここでのポイントは、
from flask import request
でリクエストオブジェクトを使える状態として、request.cookies
から値を取得するというところです。request.cookies
の詳細は、以下を参照ください(といっても大した情報はないですが)。http://flask.pocoo.org/docs/0.10/api/#flask.Request.cookies
最後に
今回は、PythonのWebライブラリであるFlaskにおいて、Cookieを用いる方法についてブログを書きました。今回のブログのように、いろいろと痒いところに手が届いて実装が楽というのは、Flaskで良いポイントかなーと感じています。最後になりますが本ブログでは、Python・Swift・Java・フロントエンド・機械学習など雑多に情報発信をしていきます。自分の第2の脳にすべく、情報をブログに貯めています。気になった方は、本ブログのRSSやTwitterをフォローして頂けると幸いです ^ ^。
最後までご覧頂きましてありがとうございました!