Django Middleware Проверка входа в систему

Я хочу ограничить все страницы для неаутентифицированных пользователей. Я написал следующее промежуточное ПО:

from django.shortcuts import redirect


def require_login(get_response):

    def middleware(request):
        if request.user.is_authenticated:
            response = get_response(request)
            return response

        return redirect('/login/')

    return middleware

Проблема в том, что он также перенаправляет на мою страницу входа, когда он перенаправляет на страницу входа (надеюсь, вы поняли). Поэтому он постоянно перенаправляет на мою страницу входа. Что мне нужно сделать в этом случае? Можно ли проверить, является ли запрашиваемая страница страницей Login, а затем не проверять оператор if выше. Спасибо!

Проверить request.path и если он равен вашему логину URL, то вернуть обычный ответ

from django.shortcuts import redirect


def require_login(get_response):

    def middleware(request):
        if request.user.is_authenticated or request.path == '/login/':
            response = get_response(request)
            return response

        return redirect('/login/')

    return middleware
Вернуться на верх