Example #1
0
def get_user(request: HttpRequest) -> User:
    """
    Get a `User` from the request. If the user cannot be found we return `AnonymousUser`.

    Modified from: https://github.com/django/django/blob/6e99585c19290fb9bec502cac8210041fdb28484/django/contrib/auth/middleware.py#L9-L12
    """
    if not hasattr(request, "_cached_user"):
        user = None
        try:
            user_id = request.session["user_id"]
        except KeyError:
            pass
        else:
            user = User.objects.filter(id=user_id).first()
        request._cached_user = user or AnonymousUser()
    return cast(User, request._cached_user)
Example #2
0
def logout(request: HttpRequest) -> HttpResponse:
    request.session.flush()
    request.user = AnonymousUser()
    return HttpResponse(status=201)
Example #3
0
def logout(request: HttpRequest) -> None:
    """
    https://github.com/django/django/blob/6e99585c19290fb9bec502cac8210041fdb28484/django/contrib/auth/__init__.py#L134-L148
    """
    request.session.flush()
    request.user = AnonymousUser()