django_session , django.contrib.auth.logout(), request.session.flush()) session_key, django_session.
request.session.flush() . :
Django django.contrib.auth.logout():
def logout(request):
"""
Removes the authenticated user ID from the request and flushes their
session data.
"""
user = getattr(request, 'user', None)
if hasattr(user, 'is_authenticated') and not user.is_authenticated():
user = None
user_logged_out.send(sender=user.__class__, request=request, user=user)
request.session.flush()
if hasattr(request, 'user'):
from django.contrib.auth.models import AnonymousUser
request.user = AnonymousUser()
:
def delete(self, session_key=None):
if session_key is None:
if self.session_key is None:
return
session_key = self.session_key
try:
Session.objects.get(session_key=session_key).delete()
except Session.DoesNotExist:
pass
, Django django.contrib.auth.signals.user_logged_out, .