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.

7voto

Mr Singh Punkte 3527

Sie können dies versuchen:

1. Ändern des Superuser-Passworts ohne Konsole

python manage.py changepassword 

2. Ändern des Superuser-Passworts über die Konsole

Hier Bildbeschreibung eingeben Hier Bildbeschreibung eingeben

5voto

rapid2share Punkte 543

Wenn Sie vergessen haben, zuerst einen Administratorbenutzer zu erstellen, erstellen Sie zunächst einen mit dem Befehl createsuperuser auf manage.py und ändern Sie dann das Passwort.

5voto

Bryce Punkte 7795

Sie haben möglicherweise auch eine Einrichtungsfrage falsch beantwortet und haben keine Mitarbeiter. In diesem Fall gehen Sie zu postgres:

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

Zur Behebung bearbeiten Sie direkt:

update auth_user set is_staff='true' where id=1;

5voto

Wenn Sie Ihr Admin-Passwort vergessen haben, müssen Sie einen neuen Benutzer erstellen, indem Sie

python manage.py createsuperuser 

und für das Passwort gibt es das CLI-Befehl changepassword für Django, um das Benutzerpasswort zu ändern

python manage.py changepassword 

ODER

django-admin changepassword 

ODER Führen Sie diesen Code in der Django-Umgebung aus

from django.contrib.auth.models import User
u = User.objects.get(username='john')
u.set_password('neues passwort')
u.save()

4voto

7guyo Punkte 2413

Wenn Sie ein benutzerdefiniertes Benutzermodell verwenden

(venv)your_prj $ ./manage.py shell
>>> from customusers.models import CustomUser
>>> CustomUser.objects.filter(is_superuser=True)
>>> user = CustomUser.objects.get(email="somesuper@sys.com")
>>> user.set_password('@NewPwd')
>>> user.save()
>>> exit()

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