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

Класс User

Класс User является встроенной моделью Django, расположенной в модуле django.contrib.auth.models. Она служит для представления пользователя системы и содержит основные поля, такие как username, password, email, а также флаги состояния is_active, is_staff и is_superuser. Этот класс используется системой аутентификации Django для управления учетными записями пользователей и предоставляет множество методов для работы с паролями, разрешениями и группами.

Основные поля класса User

Класс User содержит несколько важных полей, которые определяют состояние и свойства пользователя:

username - обязательное текстовое поле (максимальная длина 150 символов), уникальное для каждого пользователя. Используется для входа в систему.

password - поле для хранения хеша пароля. В базе данных хранится не сам пароль, а его хеш с солью.

email - необязательное поле для электронной почты пользователя.

is_active - булево поле, указывающее, активна ли учетная запись. Неактивные пользователи не могут авторизоваться.

is_staff - булево поле, определяющее, имеет ли пользователь доступ к административной панели.

is_superuser - булево поле, дающее пользователю все права без явного назначения разрешений.

Синтаксис

Для использования класса User необходимо импортировать его из модуля аутентификации:

from django.contrib.auth.models import User

Пример

Создадим обычного пользователя с заданными параметрами:

from django.contrib.auth.models import User user = User.objects.create_user( username="john_doe", password="secure_pass123", email="john@example.com" ) print(user.username) print(user.email)

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

"john_doe" "john@example.com"

Пример

Создадим суперпользователя с помощью специального менеджера:

from django.contrib.auth.models import User admin_user = User.objects.create_superuser( username="admin", password="admin_pass", email="admin@example.com" ) print(admin_user.is_staff) print(admin_user.is_superuser)

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

"True" "True"

Пример

Получим пользователя из базы данных и проверим его состояние:

from django.contrib.auth.models import User user = User.objects.get(username="john_doe") print(user.is_active) print(user.is_staff)

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

"True" "False"

Пример

Изменим статус пользователя, сделав его неактивным:

from django.contrib.auth.models import User user = User.objects.get(username="john_doe") user.is_active = False user.save() print(user.is_active)

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

"False"

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

  • метод create_user,
    который создает нового пользователя с заданным паролем
  • метод create_superuser,
    который создает суперпользователя с полными правами
  • метод set_password,
    который устанавливает новый пароль пользователя
  • метод check_password,
    который проверяет соответствие переданного пароля
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить