Python Pylons セッション管理とテンプレートへの変数渡し
セッション管理の方法と、controllerからテンプレートへ
変数を渡す方法です。
controllers/hello.pyに、こんなメソッドを追加しました。
def sessiontest(self):
count = 1
#セッションオブジェクトに'count'が含まれているか
if session.has_key('count'):
#含まれていたら、値を取り出してカウントアップ
count += session['count']
#セッションオブジェクトにカウントを保存
session['count'] = count
#セッションのセーブを実行
session.save()
#cというオブジェクトのcountに、countを渡す
#このcオブジェクトがテンプレートに渡される。
c.count = count
#ちなみに、configというオブジェクトも定義されており、
#development.iniの内容を取得できる。
print config['error_email_from']
print config['smtp_server']
return render('/sessiontest.mako')
templates/sessiontest.makoはこんな感じ
${c.count}回目の表示
ページをリロードするたび、カウントアップされていきます。


さて、サーバを再起動すればセッションは消えると
思ったのですが、どうもちゃんと残してくれている模様。
data/sessionsに保存してくれるようです。

このフォルダを消したら、セッションがリセットされました。
もどる