is_authenticated
Атрибут is_authenticated класса User является
стандартным способом проверки статуса аутентификации
пользователя в Django. Он всегда возвращает значение
типа bool: для аутентифицированных пользователей -
True, для анонимных - False. Это свойство
широко используется в шаблонах и представлениях для
условного отображения контента в зависимости от того,
авторизован ли пользователь.
Синтаксис
user.is_authenticated
Атрибут не принимает никаких аргументов и возвращает булево значение.
Пример
Проверим, аутентифицирован ли текущий пользователь в представлении:
from django.shortcuts import render
from django.http import HttpResponse
def my_view(request):
if request.user.is_authenticated:
return HttpResponse("Welcome, authenticated user!")
else:
return HttpResponse("Please log in.")
Пример
Использование атрибута в шаблоне для отображения разного контента для аутентифицированных и анонимных пользователей:
{% if user.is_authenticated %}
<p>Привет, {{ user.username }}!</p>
<a href="/logout/">Выйти</a>
{% else %}
<p>Вы не авторизованы.</p>
<a href="/login/">Войти</a>
{% endif %}
Пример
Использование атрибута для редиректа неаутентифицированных пользователей на страницу входа:
from django.shortcuts import redirect
from django.http import HttpResponse
def profile_view(request):
if not request.user.is_authenticated:
return redirect('/login/')
return HttpResponse(f"Profile of {request.user.username}")
Результат выполнения кода при переходе на страницу неаутентифицированным пользователем:
"Redirects to /login/"
Смотрите также
-
класс
User,
представляющий модель пользователя в Django -
класс
AnonymousUser,
представляющий неаутентифицированного пользователя -
атрибут
is_anonymous,
противоположный по значению атрибутуis_authenticated -
декоратор
login_required,
который автоматически проверяет аутентификацию пользователя