Mise à jour
Mise à jour de la base de données, veuillez patienter...
Site original : Sam & Max: Python, Django, Git et du cul
Automatiser le déploiement d’un projet Django passe par un syncdb
sans prompt, et donc pas de création de superutilisateur :
./manage.py syncdb --noinput
Vous pouvez bien entendu toujours en créer un plus tard, avec :
./manage.py createsuperuser --username=vous --email=votre_mail
Mais il va vous prompter pour saisir le mot de passe ou alors mettre un mot de passe inutilisable automatiquement, ça ne résout pas votre problème. Une astuce consiste à le créer avec un code Python et à piper ce code dans un shell :
echo "from django.contrib.auth.models import User; User.objects.filter(username='vous').count() or User.objects.create_superuser('vous', votre_email', 'mot_de_passe')" | ./manage.py shell
Personnellement je colle ça dans une tache fabric. Parfois on peut même générer le mot de passe aléatoirement avec un uuid qui est printé localement.