import os from django.contrib.auth import get_user_model from django.core.management.base import BaseCommand class Command(BaseCommand): help = "Creates a super-user non-interactively if it doesn't exist." def handle(self, *args, **options): User = get_user_model() username = os.environ.get("DJANGO_SUPERUSER_USERNAME", "") password = os.environ.get("DJANGO_SUPERUSER_PASSWORD", "") if not username or not password: self.stdout.write(self.style.WARNING("Superuser data was not set. Skipping.")) return if not User.objects.filter(username=username).exists(): User.objects.create_superuser(username=username, password=password) self.stdout.write(self.style.SUCCESS("Successfully created superuser.")) else: self.stdout.write( self.style.SUCCESS("Superuser with configured username already exists. Skipping.") )