РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
554 of 818 menu

Атрибут is_anonymous

Атрибут is_anonymous класса User применяется для проверки, авторизован ли пользователь в системе. Это логический атрибут, который всегда возвращает False для экземпляров модели User и всегда True для экземпляров AnonymousUser. Атрибут используется в шаблонах и представлениях для разделения логики для авторизованных и анонимных пользователей.

Синтаксис

user.is_anonymous

Пример

Проверим, является ли текущий пользователь анонимным в представлении:

from django.http import HttpResponse from django.contrib.auth.decorators import login_required from django.contrib.auth.models import User def check_user(request): if request.user.is_anonymous: return HttpResponse("Пользователь не авторизован") else: return HttpResponse(f"Привет, {request.user.username}")

Пример

Использование атрибута is_anonymous в шаблоне для условного отображения контента:

{% if user.is_anonymous %} <p>Добро пожаловать, гость! Пожалуйста, <a href="/login/">войдите</a></p> {% else %} <p>Добро пожаловать, {{ user.username }}!</p> {% endif %}

Пример

Сравним поведение атрибута is_anonymous для авторизованного и анонимного пользователя:

from django.contrib.auth.models import User, AnonymousUser # Создаем авторизованного пользователя user = User(username="john") print(user.is_anonymous) # False # Создаем анонимного пользователя anon_user = AnonymousUser() print(anon_user.is_anonymous) # True

Результат выполнения кода:

"False" "True"

Пример

Использование is_anonymous в пользовательском декораторе для проверки доступа:

from django.http import HttpResponseForbidden from django.contrib.auth.models import User def check_auth(view_func): def wrapper(request, *args, **kwargs): if request.user.is_anonymous: return HttpResponseForbidden("Требуется авторизация") return view_func(request, *args, **kwargs) return wrapper @check_auth def dashboard(request): return HttpResponse("Панель управления")

Смотрите также

  • атрибут is_authenticated,
    который проверяет, авторизован ли пользователь
  • класс AnonymousUser,
    который представляет анонимного пользователя
  • декоратор login_required,
    который ограничивает доступ для анонимных пользователей
  • метод get_user,
    который получает пользователя по идентификатору
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить