Команда createsuperuser
Команда createsuperuser применяется для создания
учётной записи суперпользователя, который имеет полный
доступ к административной панели Django. Команда
запрашивает необходимые данные (имя пользователя,
email и пароль) в интерактивном режиме, либо
может принимать их через аргументы командной строки.
Суперпользователь может управлять всеми моделями
через встроенную админку.
Синтаксис
python manage.py createsuperuser
Пример . С интерактивным вводом
Запустите команду без аргументов для интерактивного создания суперпользователя:
python manage.py createsuperuser
Username (leave blank to use 'admin'): admin
Email address: admin@example.com
Password:
Password (again):
Superuser created successfully.
Пример . С передачей аргументов
Создайте суперпользователя, передав аргументы непосредственно в команду:
python manage.py createsuperuser --username=admin --email=admin@example.com
В этом случае система запросит только пароль, так как остальные данные уже указаны.
Пример . С полным набором аргументов
Создайте суперпользователя со всеми параметрами, включая неинтерактивный режим (для автоматизации):
python manage.py createsuperuser --username=admin --email=admin@example.com --noinput
Опция --noinput отключает интерактивный ввод,
но в этом случае пароль будет отсутствовать,
поэтому вход будет невозможен без дополнительной
установки пароля через команду changepassword.
Пример . С установкой пароля через переменную окружения
Для автоматизации создания суперпользователя можно задать пароль через переменную окружения:
export DJANGO_SUPERUSER_PASSWORD=mysecretpassword
python manage.py createsuperuser --username=admin --email=admin@example.com --noinput
Результат выполнения команды:
"Superuser created successfully."
Пример . Использование в скрипте
Создайте суперпользователя программно внутри скрипта или миграции Django:
from django.contrib.auth.models import User
if not User.objects.filter(username='admin').exists():
User.objects.create_superuser(
username='admin',
email='admin@example.com',
password='mysecretpassword'
)
print("Superuser created successfully")
else:
print("Superuser already exists")
Результат выполнения кода:
"Superuser created successfully"
Смотрите также
-
команда
changepassword,
которая изменяет пароль пользователя -
команда
runserver,
которая запускает сервер разработки Django -
команда
migrate,
которая применяет миграции к базе данных -
команда
shell,
которая запускает интерактивную оболочку Django