メモ。django.contrib.sessionsのセッションキーが毎回変わる?とかそんな話が出てて、どういう動きするんだったか調べてた。
Djangoのバージョンは1.2.4。
適当に書いたview関数。
views.py
from django.http import HttpResponse from random import choice def index(request): x = choice([0, 1, 2]) if x == 0: request.session['a'] = 1 elif x == 1: request.session.flush() return HttpResponse(request.session.session_key + ' ' + str(request.session.keys()) + ' ' + str(x), content_type='text/plain')
- clearメソッドではセッションキーは変わらない
- ログアウトなどの処理ではflushメソッドを使う(flushを使うと次のリクエストではセッションキーが変わる)
- セッションを使っていない場合はリクエスト毎にセッションキーが変わる
どういうCOOKIEを返す/返さない、については調べてない。今回はセッションの挙動だけ。