Comments on: Créer un super utilisateur Django sans prompt http://sametmax.com/creer-un-super-utilisateur-django-sans-prompt/ Du code, du cul Sat, 07 Nov 2015 11:08:18 +0000 hourly 1 http://wordpress.org/?v=4.1 By: Raphi http://sametmax.com/creer-un-super-utilisateur-django-sans-prompt/#comment-15962 Wed, 20 Nov 2013 20:06:00 +0000 http://sametmax.com/?p=7981#comment-15962 Chouette!

J’avais bidouillé un truc simillaire en fourrant un signal (de mémoire) dans le models.py d’une app fourre tout, ca dépannait mais j’trouvais ca crado.

J’suis en train d’mettre en place des templates de projets pour le boulot, en jouant avec fabric et cookiecutter, ca marche au poil.

Après le coup d’la commande django, j’y avais vaguement pensé, ca m’paraissait un peu overkill mais en y réflechissant pourquoi pas, ca peut rendre le fabfile un peu moins crade et s’réutiliser pour des tests à l’arrache… A creuser ^^

]]>
By: Syl http://sametmax.com/creer-un-super-utilisateur-django-sans-prompt/#comment-15958 Wed, 20 Nov 2013 13:46:32 +0000 http://sametmax.com/?p=7981#comment-15958 Génial!!!
Merci Sam!

]]>
By: Labarbiche http://sametmax.com/creer-un-super-utilisateur-django-sans-prompt/#comment-15954 Wed, 20 Nov 2013 12:01:30 +0000 http://sametmax.com/?p=7981#comment-15954 Oui tu as raison: une commande django permet de faire plus de choses, comme le parsing d’argument, ne demande pas d’installer de module supplémentaire, et c’est mieux documenté: 3-0 !
Merci pour l’idée, j’en ferai à l’occasion.

]]>
By: Sam http://sametmax.com/creer-un-super-utilisateur-django-sans-prompt/#comment-15952 Wed, 20 Nov 2013 11:35:05 +0000 http://sametmax.com/?p=7981#comment-15952 Dans ce cas autant faire une commande django non ?

]]>
By: Labarbiche http://sametmax.com/creer-un-super-utilisateur-django-sans-prompt/#comment-15951 Wed, 20 Nov 2013 11:03:05 +0000 http://sametmax.com/?p=7981#comment-15951 Personnellement j’utilise la commande runscript de django-extensions pour faire le sale boulot:
Dans un répertoire scripts/ (à coté de manage.py) je mets un fichier create_admin.py comme ceci:

from django.contrib.auth.models import User
 
def run():
...if not User.objects.filter(username='sam').count():
......print "Creating user sam"
......user = User.objects.create_user('sam', 'sam@sametmax.com', 'megapassword')
......user.first_name = 'Le'
......user.last_name = 'Sam'
......user.is_staff = True
......user.is_superuser = True
......user.save()
 
...... (pff pas réussi à mettre du code indenté... j'ai mis des .)

Ensuite, ./manage.py runscript create_admin

C’est trés pratique d’ailleurs d’avoir des scripts sous la main de cette manière.

A mélanger avec ./manage.py syncdb –noinput
(ah oui, il faut aussi un __init__.py vide dans le répertoire scripts/ )

]]>