Comment réinitialiser le mot de passe administrateur Django?

J'utilise Django (version 1.3) et j'ai oublié à la fois le nom d'utilisateur et le mot de passe admin. Comment réinitialiser les deux?

Et est-il possible de faire un utilisateur normal en admin, puis de supprimer le statut admin?

319
demandé sur frlan 2011-06-15 17:00:02

14 réponses

manage.py changepassword <user_name>

Voir les docs

538
répondu JamesO 2016-04-04 14:58:14
  1. {[1] } va créer un autre superutilisateur, vous pourrez vous connecter à admin et rememder votre nom d'utilisateur.
  2. Oui, pourquoi pas.

Pour donner à un utilisateur normal des privilèges, ouvrez un shell avec python manage.py shell et essayez:

from django.contrib.auth.models import User
user = User.objects.get(username='normaluser')
user.is_superuser = True
user.save()
144
répondu DrTyrsa 2014-02-27 19:26:30

Vous pouvez essayer via la console:

python manage.py shell

Ensuite, utilisez le script suivant dans shell

from django.contrib.auth.models import User
User.objects.filter(is_superuser=True)

Vous liste tous les super utilisateurs sur le système. si vous reconnaissez votre nom d'utilisateur dans la liste:

usr = User.objects.get(username='your username')
usr.set_password('raw password')
usr.save()

Et vous définissez un nouveau mot de passe (:

88
répondu FallenAngel 2012-09-07 07:43:07

, Vous pouvez créer un nouveau super-utilisateur avec createsuperuser commande.

19
répondu Aldarund 2014-07-06 20:46:52

C'est une très bonne question.

Python manage.py changepassword user_name

Exemple :-

python manage.py changepassword mickey
9
répondu anand24 2016-03-13 10:31:01

Nouvelle configuration devrait - exécutez d'abord python manage.py createsuperuser pour créer un utilisateur. Il semble qu'il n'y ait pas de mot de passe de nom d'utilisateur par défaut pour se connecter à admin.

9
répondu user3526 2017-01-18 11:31:07

Vous avez peut-être également mal répondu à une question d'installation et n'avez aucun membre du personnel. Dans ce cas, dirigez-vous vers postgres:

obvioustest=# \c [yourdatabasename]
obvioustest=# \x
obvioustest=# select * from auth_user;
-[ RECORD 1 ]+-------------
id           | 1
is_superuser | f
is_staff     | f
...

Pour corriger, modifier directement:

update auth_user set is_staff='true' where id=1;
4
répondu Bryce 2014-07-06 20:45:40

L'une des meilleures façons de récupérer le nom d'utilisateur et le mot de passe est de les afficher et de les mettre à jour. Le modèle utilisateur fournit un moyen idéal de le faire.

Dans ce cas, J'utilise Django 1.9

  1. accédez à votre répertoire racine i,E. où vous "manage.py" le fichier est situé à l'aide de votre console ou d'une autre application telle que Git.
  2. récupérer le shell Python en utilisant la commande "python manage.py shell".
  3. importez le modèle Utilisateur en tapant la commande suivante "de django.contrib.auth.modèles importer Utilisateur "
  4. Obtenez tous les utilisateurs en tapant la commande suivante "utilisateurs = Utilisateur.objet.tous () "
  5. Imprimer une liste des utilisateurs Pour les utilisateurs de Python 2, Utilisez la commande "Imprimer les utilisateurs" Pour les utilisateurs de Python 3, Utilisez la commande "print (users)" Le premier utilisateur est généralement l'administrateur.

  6. Sélectionnez l'utilisateur que vous souhaitez modifier son mot de passe par exemple

    "user = users[0]"

  7. Définir le mot de passe

    user.set_password('name_of_the_new_password_for_user_selected')

  8. Enregistrer le nouveau mot de passe

    "user.save()"

Démarrez le serveur et connectez-vous en utilisant le nom d'utilisateur et le mot de passe mis à jour.

4
répondu Stephen Mwangi Wanjohi 2018-02-28 11:45:48

Si vous avez oublié de créer un utilisateur admin, créez-en un avec la commande createsuperuser sur manage.py, puis changez le mot de passe.

3
répondu rapid2share 2015-05-21 11:28:28

, Vous pouvez essayer ceci:

1.Changer le mot de passe du superutilisateur sans console

python manage.py changepassword <username>

2.Changer le mot de passe du superutilisateur via la console

entrez la description de l'image ici entrez la description de l'image ici

3
répondu Mr Singh 2018-01-30 20:24:36

Dans le cas où vous ne connaissez pas les noms d'utilisateur créés ici. Vous pouvez obtenir les utilisateurs comme décrit par @FallenAngel ci-dessus.

python manage.py shell 
from django.contrib.auth.models import User
usrs = User.objects.filter(is_superuser=True)
#identify the user
your_user = usrs.filter(username="yourusername")[0]
#youruser = usrs.get(username="yourusername")
#then set the password

Cependant, dans le cas où vous avez créé votre modèle d'utilisateur indépendant. Un cas simple est lorsque vous souhaitez utiliser l'email comme nom d'utilisateur au lieu du nom d'utilisateur par défaut. Dans ce cas, votre modèle utilisateur vit quelque part comme your_accounts_app.modèles alors la solution ci-dessus ne fonctionnera pas. Dans ce cas, vous pouvez utiliser la méthode get_user_model

from django.contrib.auth import get_user_model 
super_users = get_user_model().objects.filter(is_superuser=True)
#proceed to get identify your user
# and set their user password
2
répondu unlockme 2017-11-01 16:52:33

Une autre chose à noter est de définir le statut de votre Utilisateur is_staff comme actif. Au moins, c'est ce qui fait que ça marche pour moi. Pour plus de détails, j'ai créé un autre superuser comme les gens l'ont expliqué ci-dessus. Ensuite, je vais à la table de base de données auth_user et recherche ce nom d'utilisateur pour m'assurer que son drapeau is_staff est défini sur 1. Cela m'a finalement permis de me connecter au site admin.

1
répondu user1330974 2015-06-14 19:32:57

Python manage.py changepassword nom d'utilisateur

0
répondu Basant Rules 2017-09-02 09:19:04

Créez un nouveau superutilisateur avec la commande "python manage.py createsuperuser". Connectez - vous en tant que nouveau super utilisateur. Cliquez sur "utilisateurs" lien. Ensuite, cliquez sur l'utilisateur que vous souhaitez supprimer. cliquez sur supprimer l'utilisateur à la fin de la page du formulaire.

Remarque - le processus ci-dessus apportera des modifications aux journaux d'activité effectués par cet utilisateur particulier.

0
répondu Ishan Dixit 2018-01-03 14:59:50