документы функции on is_authenticated
на модели User:
is_authenticated
Атрибут только для чтения, который всегда True (в отличие от AnonymousUser.is_authenticated, который всегда False). Это способ определить, был ли пользователь аутентифицирован. Это не подразумевает никаких разрешений и не проверяет, является ли пользователь активным или имеет действительный сеанс. Несмотря на то, что обычно вы проверяете этот атрибут в request.user, чтобы выяснить, не был ли он заполнен AuthenticationMiddleware (представляющим текущего пользователя, вошедшего в систему), вы должны знать, что этот атрибут равен True для любого экземпляра пользователя.
from django.conf import settings
from django.shortcuts import redirect
def my_view(request):
if not request.user.is_authenticated:
return redirect('%s?next=%s' % (settings.LOGIN_URL, request.path))
is_authenticated говорит, что он не проверяет, есть ли у пользователя действительный сеанс, не является ли это технически ложным, потому что при каждом запросе таблица сеансов проверяется на соответствие клиентскому сеансу cook ie и возвращает только Пользователь, если есть совпадение? В противном случае вы не сможете вернуть пользователя, если клиент не отправляет данные аутентификации, такие как имя пользователя, пароль?