Команда createsuperuser

Команда createsuperuser применяется для создания учётной записи суперпользователя, который имеет полный доступ к административной панели Django. Команда запрашивает необходимые данные (имя пользователя, email и пароль) в интерактивном режиме, либо может принимать их через аргументы командной строки. Суперпользователь может управлять всеми моделями через встроенную админку.

Синтаксис

pythonpython manage.py createsuperuser

Пример . С интерактивным вводом

Запустите команду без аргументов для интерактивного создания суперпользователя:

pythonpython manage.py createsuperuser

Username (leave blank to use 'admin'): admin
Email address: admin@example.com
Password: 
Password (again): 
Superuser created successfully.

Пример . С передачей аргументов

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

pythonpython manage.py createsuperuser --username=admin --email=admin@example.com

В этом случае система запросит только пароль, так как остальные данные уже указаны.

Пример . С полным набором аргументов

Создайте суперпользователя со всеми параметрами, включая неинтерактивный режим (для автоматизации):

pythonpython manage.py createsuperuser --username=admin --email=admin@example.com --noinput

Опция --noinput отключает интерактивный ввод, но в этом случае пароль будет отсутствовать, поэтому вход будет невозможен без дополнительной установки пароля через команду changepassword.

Пример . С установкой пароля через переменную окружения

Для автоматизации создания суперпользователя можно задать пароль через переменную окружения:

pythonexport DJANGO_SUPERUSER_PASSWORD=mysecretpassword
python manage.py createsuperuser --username=admin --email=admin@example.com --noinput

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

python"Superuser created successfully."

Пример . Использование в скрипте

Создайте суперпользователя программно внутри скрипта или миграции Django:

pythonfrom 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")

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

python"Superuser created successfully"

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

  • команда changepassword,
    которая изменяет пароль пользователя
  • команда runserver,
    которая запускает сервер разработки Django
  • команда migrate,
    которая применяет миграции к базе данных
  • команда shell,
    которая запускает интерактивную оболочку Django