'app' というアプリを使用したバニラ django プロジェクトがあります。これには、views.py と middleweres.py があります。
#views.py
from django.http.response import HttpResponse
def home(request):
return HttpResponse('')
#settings.py
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'app.middlewares.M',
)
#middlewares.py
class M(object):
def process_request(self, request):
request.session['a']='a'
Django は、リクエストごとに db のセッション テーブルに行を追加します。なんで?
UPD: 私はまだ混乱しています。その質問のために github プロジェクトを作成しました: https://github.com/vinograd19/django-session-problem/ ここで私のコードを見つけて、自分のマシンで実行できます