Files
2026-02-02 10:52:20 +05:30

23 lines
942 B
Python

from django.core.management.base import BaseCommand
from django.contrib.auth import get_user_model
import os
class Command(BaseCommand):
help = "Create a superuser if none exists (using env vars)."
def handle(self, *args, **options):
User = get_user_model()
username = os.environ.get("SUPERUSER_USERNAME")
email = os.environ.get("SUPERUSER_EMAIL")
password = os.environ.get("SUPERUSER_PASSWORD")
if not username or not password:
self.stdout.write(self.style.WARNING("SUPERUSER_* env vars not set. Skipping."))
return
if not User.objects.filter(username=username).exists():
User.objects.create_superuser(username=username, email=email, password=password)
self.stdout.write(self.style.SUCCESS(f"Superuser '{username}' created."))
else:
self.stdout.write(self.style.NOTICE(f"Superuser '{username}' already exists."))