Flask & Jinja2でCookieの読み書き

Jinja2(Pythonのテンプレートエンジン)でCookieの読み書きを行うメモです。

ウェブフレームワークは、Flask を使用します。

処理の流れは

1.Jinja2のテンプレートをレスポンスに設定

2.Cookieを書き込む

3.Cookieを読み込む

になります。

1.Jinja2のテンプレートをレスポンスに設定

Flaskの「make_response」を使用します。

make_response を使用するには、importする必要があります。

render_templateの戻り値をレスポンスオブジェクトに変換しています。

2.Cookieを書き込む

Flaskの関数(set_cookie)を使用します。

この例では、cookieの設定値にJSON文字列を設定しています。

もちろん、JSON文字列ではなく普通の文字列を渡すことも可能です。

その場合は、次のようになります。

3.Cookieを読み込む

Flaskの関数(get_cookie)を使用します。

この例では、’cookie_name’ という キーから取り出した値を、変数 cookieに格納します。

次に、json.loads 関数を使用して、JSON文字列から辞書型に変換しています。

これで、cookieの書き込み、読み込みができます。

今回は、cookieのkey・valueのみ設定しましたが、それ以外の設定を行うことも可能です。

・max_age

・expires

・path

・domain

・secure

・httponly

・samesite

詳細につきましては、Flaskのページを参照してください。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする