バックエンド データベースとしてDjango
withを使用しています。MongoDB
私はsettings.py
すでにこれらのコードを設定しています:
SESSION_ENGINE = 'mongoengine.django.sessions'
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.sessions',
そして私のview/user.py
(コードの一部のみ)
if user.password == password:
#add session information
if request.session.test_cookie_worked():
returnmsg = "COOKIE OK"
else:
returnmsg = "COOKIE ERR"
response = HttpResponse(returnmsg)
response.set_cookie("username", username)
request.session['username'] = username
user.log.append(UserLog(time=datetime.now(), ip=request.META['REMOTE_ADDR'], login=True))
user.save()
return response
サイトを実行すると、この関数と、セッション設定を確認する必要がある他の関数でログインできusername
ましたresponse.session
。
しかし、returnmsg はCOOKIE ERR
で、Safari の Web Inspector を使用すると、ここにセッションも Cookie も表示されません。
Django はセッション データをどこに保存しますか? クライアントのコンピューターでエンコードされた Cookie である必要がありますか? クライアントのコンピューターに保存されていない場合、なぜDjango
それを取得できるのでしょうか? また、私のコードでは、クッキーを直接設定しようとしましたが、まだ機能しません。
について何か問題がありMongoEngine
ますか? 使い方を間違ったのでしょうか?