0

現在のdjangoプロジェクトでは、ユーザーからCookieを取得するためにrequest.session['key']を使用しています。しかし、問題があります。ユーザーが私のWebサイトに初めてアクセスしたかどうかを確認したいと思います。

これは次の方法で行われました。

if not request.session.get('visited', False):
    # do something
    request.session['visited'] = True

このコードは正常に機能しますが、機能しないのはユーザーがログアウトしたときです。

auth.logout(request)

この特定のメソッドのdjangoコードを調べましたが、当然のことながら、アクセスしたデータが保存されているユーザーのセッションがフラッシュされます。

その結果、ユーザーがログアウトすると、ウェルカムメッセージが再び表示されます。auth.logoutフラッシュから安全なキー/値ペアを維持するにはどうすればよいですか?

ありがとうございました!

4

1 に答える 1

3

djangoセッションではなく、Cookieを使用する必要があります。ユーザーがログアウトすると、セッションは期限切れになります。

set_cookieメソッドを使用してCookieを設定し、request.COOKIES.get()を使用して存在をテストする必要があります。

また、このhttps://docs.djangoproject.com/en/dev/ref/request-response/もご覧ください。

それでも問題が解決しない場合はお知らせください。

于 2012-11-19T05:23:30.080 に答える