37794-vm/core/management/commands/ensure_admin.py
2026-01-31 08:09:47 +00:00

20 lines
875 B
Python

from django.core.management.base import BaseCommand
from django.contrib.auth import get_user_model
import os
class Command(BaseCommand):
help = 'Ensures an admin user exists (idempotent)'
def handle(self, *args, **options):
User = get_user_model()
username = os.environ.get('ADMIN_USER', 'admin')
email = os.environ.get('ADMIN_EMAIL', 'admin@example.com')
password = os.environ.get('ADMIN_PASS', 'admin')
if not User.objects.filter(username=username).exists():
self.stdout.write(f"Creating superuser '{username}'...")
User.objects.create_superuser(username, email, password)
self.stdout.write(self.style.SUCCESS(f"Superuser '{username}' created successfully."))
else:
self.stdout.write(self.style.SUCCESS(f"Superuser '{username}' already exists. Skipping creation."))