Метод create_user
Метод create_user применяется к менеджеру пользователей
и возвращает новый объект пользователя, сохраняя его в базе
данных. В обязательном порядке требуется передать аргумент
username, а также можно указать email и
password. Пароль автоматически хешируется, что
обеспечивает безопасное хранение учетных данных.
Синтаксис
User.objects.create_user(username, email=None, password=None, **extra_fields)
Пример
Давайте создадим обычного пользователя с именем и паролем:
from django.contrib.auth.models import User
user = User.objects.create_user(username='john_doe', password='secret123')
print(user.username)
print(user.password)
Результат выполнения кода:
"john_doe"
"pbkdf2_sha256$600000$abcdefghijklmnopqrstuvwxyz123456"
Пример
Давайте создадим пользователя с указанием email и пароля:
from django.contrib.auth.models import User
user = User.objects.create_user(
username='jane_smith',
email='jane@example.com',
password='mypassword'
)
print(user.email)
Результат выполнения кода:
"jane@example.com"
Пример
Давайте создадим пользователя с дополнительными полями, такими как активность и административные права:
from 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)
Результат выполнения кода:
"True"
"False"
"False"
Смотрите также
-
метод
create_superuser,
который создает суперпользователя с полными правами -
класс
User,
который представляет модель пользователя в Django -
метод
set_password,
который устанавливает и хеширует пароль для существующего пользователя -
функция
get_user_model,
которая возвращает пользовательскую модель пользователя