30 lines
1.2 KiB
Python
30 lines
1.2 KiB
Python
"""Crée le superutilisateur lors du premier démarrage, sans le modifier ensuite."""
|
|
from decouple import config
|
|
from django.contrib.auth import get_user_model
|
|
from django.core.management.base import BaseCommand
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = "Crée le compte administrateur initial depuis le .env."
|
|
|
|
def handle(self, *args, **options):
|
|
username = config("ADMIN_USERNAME", default="").strip()
|
|
password = config("ADMIN_PASSWORD", default="")
|
|
if not username or not password:
|
|
self.stdout.write(self.style.WARNING("ADMIN_USERNAME ou ADMIN_PASSWORD absent : création ignorée."))
|
|
return
|
|
|
|
user_model = get_user_model()
|
|
if user_model.objects.filter(username=username).exists():
|
|
self.stdout.write("Compte administrateur déjà présent : mot de passe inchangé.")
|
|
return
|
|
|
|
user_model.objects.create_superuser(
|
|
username=username,
|
|
email="",
|
|
password=password,
|
|
first_name=config("ADMIN_FIRST_NAME", default=""),
|
|
last_name=config("ADMIN_LAST_NAME", default=""),
|
|
)
|
|
self.stdout.write(self.style.SUCCESS("Administrateur initial créé."))
|