Django : comment changer le mot de passe d'un utilisateur en ligne de commande
Comment changer le mot de passe d'un utilisateur dans un framework Django en ligne de commande ?
En fait c'est assez simple.
Il faut ouvrir un shell python, importer le modèle User, récupérer l'objet correspondant à votre utilisateur, modifier l'attribut "password" et sauver l'objet. Ne pas oublier d'activer l'environnement virtuel si nécessaire.
Voici le code correspondant à la description (n'oubliez pas de changer l'attribut "username" afin qu'il corresponde à votre utilisateur et le "password" bien sûr) :
# Lancement du shell
python manage.py shell
# Le prompt change !!! >>>
# Chargement du modèle User
from django.contrib.auth.models import User
# Récupération de l'objet correspondant à notre utilisateur root
u = User.objects.get(username='root')
# Changement du mot de passe
u.set_password('mon_mot_de_passe_res_complique')
# Sauvegarde
u.save()
# On quitte le shell
exit()
Manipuler les objets Django en CLI via le shell n'est pas bien compliqué, mais terriblement utile et puissant.