4

次のように、Django アプリケーションでセッション変数を設定しています。

request.session['something'] = True

この後、ユーザーをログイン ( via facebook - django-social-auth) にリダイレクトしています。ユーザーが正常にログインすると、セッション変数が失われます。私はこれを知っています:-

if "something" in request.session -- is returning False

Django は、(Django 認証システムを使用して) ログイン/ログアウト時にセッション オブジェクトをフラッシュしますか、それとも何か間違っていますか?

4

1 に答える 1

3

login ソースコードによると:

def login(request, user):
    """
    Persist a user id and a backend in the request. This way a user doesn't
    have to reauthenticate on every request. Note that data set during
    the anonymous session is retained when the user logs in.
    """

したがって、匿名で何かを設定すると、request.sessionログイン後にそこに表示されます。

loginセッションのみをフラッシュしif the existing session corresponds to a different authenticated userます。

logout常にセッションをフラッシュします (ソースコード)。

それが役立つことを願っています。

于 2013-07-10T20:25:28.110 に答える