28 lines
961 B
Python
28 lines
961 B
Python
import os
|
|
|
|
from django.contrib.auth import get_user_model
|
|
from django.core.management.base import BaseCommand
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = 'Crée ou met à jour le compte administrateur défini dans le .env.'
|
|
|
|
def handle(self, *args, **options):
|
|
username = os.getenv('ADMIN_USERNAME', 'admin')
|
|
password = os.getenv('ADMIN_PASSWORD', 'admin123')
|
|
first_name = os.getenv('ADMIN_FIRST_NAME', 'admin')
|
|
last_name = os.getenv('ADMIN_LAST_NAME', 'admin')
|
|
|
|
User = get_user_model()
|
|
user, created = User.objects.get_or_create(username=username)
|
|
user.first_name = first_name
|
|
user.last_name = last_name
|
|
user.is_staff = True
|
|
user.is_superuser = True
|
|
user.is_active = True
|
|
user.set_password(password)
|
|
user.save()
|
|
|
|
action = 'créé' if created else 'mis à jour'
|
|
self.stdout.write(self.style.SUCCESS(f'Administrateur {username} {action}.'))
|