Метод create_user

Метод create_user применяется к менеджеру пользователей и возвращает новый объект пользователя, сохраняя его в базе данных. В обязательном порядке требуется передать аргумент username, а также можно указать email и password. Пароль автоматически хешируется, что обеспечивает безопасное хранение учетных данных.

Синтаксис

pythonUser.objects.create_user(username, email=None, password=None, **extra_fields)

Пример

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

pythonfrom django.contrib.auth.models import User

user = User.objects.create_user(username='john_doe', password='secret123')
print(user.username)
print(user.password)

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

python"john_doe"
"pbkdf2_sha256$600000$abcdefghijklmnopqrstuvwxyz123456"

Пример

Давайте создадим пользователя с указанием email и пароля:

pythonfrom django.contrib.auth.models import User

user = User.objects.create_user(
  username='jane_smith',
  email='jane@example.com',
  password='mypassword'
)
print(user.email)

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

python"jane@example.com"

Пример

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

pythonfrom django.contrib.auth.models import User

user = User.objects.create_user(
  username='bob_wilson',
  email='bob@example.com',
  password='securepass',
  is_active=True,
  is_staff=False,
  is_superuser=False
)
print(user.is_active)
print(user.is_staff)
print(user.is_superuser)

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

python"True"
"False"
"False"

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

  • метод create_superuser,
    который создает суперпользователя с полными правами
  • класс User,
    который представляет модель пользователя в Django
  • метод set_password,
    который устанавливает и хеширует пароль для существующего пользователя
  • функция get_user_model,
    которая возвращает пользовательскую модель пользователя