Louis Mazin 5a56f5383d init
2026-09-13 18:56:33 +02:00

38 lines
1.3 KiB
Python

from django.core.management.base import BaseCommand
from django.contrib.auth.models import User
from decouple import config
import sys
class Command(BaseCommand):
help = 'Create admin user from environment variables'
def add_arguments(self, parser):
parser.add_argument(
'--force',
action='store_true',
help='Create admin user even if one already exists',
)
def handle(self, *args, **options):
# Get credentials from environment variables
username = config('ADMIN_USERNAME', default='admin')
password = config('ADMIN_PASSWORD', default='admin123')
email = config('ADMIN_EMAIL', default='admin@boulangerie.fr')
# Check if admin user already exists
if User.objects.filter(username=username).exists() and not options['force']:
self.stdout.write(
self.style.WARNING(f'Admin user "{username}" already exists')
)
return
# Create the admin user
user = User.objects.create_superuser(
username=username,
email=email,
password=password
)
self.stdout.write(
self.style.SUCCESS(f'Successfully created admin user "{username}"')
)