5月 19
このエントリをはてなブックマークに登録 Yahoo!ブックマークに登録

Djangoでテンプレートを出力するとき、あわせてcookieの書き込みもしたいケースがあります。よくあるサンプルだと

return render_to_response(‘index.html’)

っていう書き方をしているのですが、「コレ、cookieの書き出しどうすんのよ」って悩んでしまいました。その結果、

def  index(request):
_max_age = 45*24*60*60
_expires = datetime.datetime.strftime(datetime.datetime.utcnow() + datetime.timedelta(seconds=_max_age), “%a, %d-%b-%Y %H:%M:%S GMT”)
_response = render_to_response(‘index.html’)
_response.set_cookie(‘hoge’, value=’hogehoge’, max_age=_max_age, expires=_expires, path=’/')
return _response

こんな書き方をしたらできているようでした。上記の例だと、現在時刻から45日間有効なcookieを書き出しています。

単純なことなんですが、意外と躓いてしまった。。。

Python2.5、Django1.1.1です。

そういえばDjangoの1.2がリリースされてますね。検証したいな。

関連性のあるエントリ:

  1. Djangoでファイルをダウンロードさせる方法
  2. RubyonRailsでクッキーの処理をモジュールで共通化する方法
  3. PHPとRubyとPythonのパフォーマンスを比較してみました
  4. PythonでDjangoを使ったバッチ処理
  5. Djangoアプリで静的ファイルの配置方法

Leave a Reply

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
preload preload preload