See logout().
(request)
| 238 | |
| 239 | |
| 240 | async def alogout(request): |
| 241 | """See logout().""" |
| 242 | # Dispatch the signal before the user is logged out so the receivers have a |
| 243 | # chance to find out *who* logged out. |
| 244 | user = getattr(request, "auser", None) |
| 245 | if user is not None: |
| 246 | user = await user() |
| 247 | if not getattr(user, "is_authenticated", True): |
| 248 | user = None |
| 249 | await user_logged_out.asend(sender=user.__class__, request=request, user=user) |
| 250 | await request.session.aflush() |
| 251 | |
| 252 | has_user = hasattr(request, "user") |
| 253 | has_auser = hasattr(request, "auser") |
| 254 | if has_user or has_auser: |
| 255 | from django.contrib.auth.models import AnonymousUser |
| 256 | |
| 257 | anon = AnonymousUser() |
| 258 | if has_user: |
| 259 | request.user = anon |
| 260 | if has_auser: |
| 261 | |
| 262 | async def auser(): |
| 263 | return anon |
| 264 | |
| 265 | request.auser = auser |
| 266 | |
| 267 | |
| 268 | def get_user_model(): |