当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

Python3 Bottleフレームワーク入門(その5)- Cookie And Session

本チャプターでは、クッキー、セッションまわりについて解説します。クッキーはご存じの通り一度来訪するとその時の行動でアクションした記録が残り次回の来訪時にその情報が適用されてWEB画面に反映される仕組みである。またセッションはログインしている状態を記録し、ページ遷移や次回のブラウザ起動時にログイン無しでページに入れる仕組みなどに使われます。



クッキーの仕組みは標準でBottleから利用できるため特に特殊なライブラリーを新規で導入することはありません。response関数で設置することができます。

クッキーの設定例

下記は、ブラウザーからhttp://xxx.xxx.xxx.xxx/counterを表示させリロードするとその度にカウンタ値があがるプログラムです。サーバを終了してもクッキーが残っているためまた起動してテストすると前回の値から加算されてゆきます。ブラウザをとじて再テストしても同様です。クッキーはブラウザー側に残っているためこのようになります。

クッキーの削除

今度はクッキーのリセット機能を追加しました。下記のようにクッキーのエイジングを0にしてカウンタ値も一旦空にします。これが事実上のクッキーの削除のようなものです。ブラウザーからhttp://xxx.xxx.xxx.xxx/resetを表示させ再度カウンター表示のページに飛ぶとカウンターが1からスタートしていることがわかります。

セッションの機能を使う

セッションの機能を使うにはBottleの場合、Beakerというモジュールを使うことができます。インストールはpipコマンドで 導入してください。

先程のクッキーのカウントアッププログラムと同じ要領でブラウザーからアクセスしてみてください。結果的にクッキーと同じような動作を確認できます。

セッションの削除の様々なパターン

一口に削除と言っても様々なパターンがある。値を初期化する。データを削除する。今のセッションを廃棄する。プログラムの流れ用途によってどれを使うか考えて使いましょう。



Python Bottle Framework入門 全13回
1.基礎編サーバ起動
2.リクエストメソッド
3.ORM Peewee (MySQL)
4.ORM Peewee CRUD
5.Cookie And Session
6.Abort and Redirect
7.マルチスレッドWEBサーバ
8.デーモン化
9.Json
10.WSGI on SSL
11.Apache連携起動(外部WSGI) SSL接続
12.Apache連携起動(ReverseProxy)SSL接続
13.hprox連携起動(ReverseProxy)SSL接続&HTTP2対応

合わせて読みたいPython MySQL操作関連