632 Stimmen

Wie setze ich das Django-Admin-Passwort zurück?

Ich benutze Django (Version 1.3) und habe sowohl den Admin-Benutzernamen als auch das Passwort vergessen. Wie kann ich beides zurücksetzen?

Ist es möglich, einen normalen Benutzer zum Admin zu machen und dann den Admin-Status zu entfernen?

0 Stimmen

Bitte stellen Sie keine zwei verschiedenen Fragen in einem Beitrag.

3voto

unlockme Punkte 3290

Wenn Sie die Benutzernamen nicht kennen, wie sie hier erstellt wurden, können Sie die Benutzer gemäß @FallenAngel oben beschriebenen Methode erhalten.

python manage.py shell 
from django.contrib.auth.models import User
usrs = User.objects.filter(is_superuser=True)
#identifizieren Sie den Benutzer
your_user = usrs.filter(username="yourusername")[0]
#youruser = usrs.get(username="yourusername")
#dann setzen Sie das Passwort

Falls Sie jedoch Ihr eigenes Benutzermodell erstellt haben. Ein einfacher Fall tritt auf, wenn Sie die E-Mail als Benutzernamen verwenden möchten, anstelle des Standard-Benutzernamens. In diesem Fall befindet sich Ihr Benutzermodell irgendwo wie z.B. in your_accounts_app.models; dann funktioniert die obige Lösung nicht. In diesem Fall können Sie stattdessen die Methode get_user_model verwenden.

from django.contrib.auth import get_user_model 
super_users = get_user_model().objects.filter(is_superuser=True)
#fahren Sie fort, um Ihren Benutzer zu identifizieren
# und setzen Sie ihr Benutzerpasswort

2voto

user1330974 Punkte 2375

Eine weitere Sache, die es wert ist zu beachten, ist den Status des Benutzers is_staff als aktiv zu setzen. Zumindest ist das, was für mich funktioniert. Für mehr Details habe ich einen weiteren superuser erstellt, wie oben erklärt wurde. Dann gehe ich zur Datenbanktabelle auth_user und suche nach diesem Benutzernamen, um sicherzustellen, dass die Flagge is_staff auf 1 gesetzt ist. Das hat es mir schließlich ermöglicht, mich auf der admin Seite anzumelden.

2voto

Ishan Dixit Punkte 259

Erstellen Sie einen neuen Superuser mit dem Befehl "python manage.py createsuperuser". Melden Sie sich als neuer Super-Benutzer an. Klicken Sie auf den 'Benutzer' Link. Klicken Sie dann auf den Benutzer, den Sie löschen möchten. Klicken Sie auf Benutzer löschen am Ende der Formularseite.

Hinweis - Der obige Prozess führt zu Änderungen in den Aktivitätsprotokollen, die von diesem bestimmten Benutzer durchgeführt wurden.

1voto

CAP.tech Punkte 79

Der beste Weg ist einfach, zum Terminal zu gehen und einzugeben

python manage.py createsuperuser

und ein weiteres Passwort und Benutzernamen einzufügen, aber in den meisten Fällen werden Sie einige Ihrer zuvor erstellten Profile verlieren.

1voto

Shrey Punkte 34

Geben Sie einfach diesen Befehl in Ihrer Befehlszeile ein:

python manage.py changepassword IhrBenutzername

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X