Jak zresetować hasło administratora Django?

Używam Django (Wersja 1.3) i zapomniałem nazwy użytkownika i hasła administratora. Jak zresetować oba?

A czy da sie zrobic normalnego uzytkownika na admina, a nastepnie Usun status admina?

 319
Author: frlan, 2011-06-15

14 answers

manage.py changepassword <user_name>

Zobacz dokumenty

 538
Author: JamesO,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-04 14:58:14
  1. python manage.py createsuperuser utworzy kolejnego superużytkownika, będziesz mógł zalogować się do administratora i zapamiętać swoją nazwę użytkownika.
  2. Tak, dlaczego nie.

Aby nadać normalnemu użytkownikowi uprawnienia, Otwórz powłokę za pomocą python manage.py shell i spróbuj:

from django.contrib.auth.models import User
user = User.objects.get(username='normaluser')
user.is_superuser = True
user.save()
 144
Author: DrTyrsa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-27 19:26:30

Możesz spróbować przez konsolę:

python manage.py shell

Następnie użyj następującego skryptu w powłoce

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

Wyświetli listę wszystkich super użytkowników w systemie. jeśli rozpoznajesz nazwę użytkownika yur z listy:

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

I ustawiasz nowe hasło (:

 88
Author: FallenAngel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-07 07:43:07

Możesz utworzyć nowego superużytkownika z createsuperuser dowództwo.

 19
Author: Aldarund,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-06 20:46:52

To bardzo dobre pytanie.

Python manage.py changepassword user_name

Przykład: -

python manage.py changepassword mickey
 9
Author: anand24,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-13 10:31:01

Nowa konfiguracja powinna najpierw uruchomić python manage.py createsuperuser aby utworzyć użytkownika. Wygląda na to, że nie ma domyślnego hasła do logowania się do administratora.

 9
Author: user3526,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-18 11:31:07

Możliwe, że odpowiedziałeś źle na pytanie konfiguracyjne i nie masz żadnych pracowników. W takim przypadku przejdź do postgres:

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

Aby naprawić, edytuj bezpośrednio:

update auth_user set is_staff='true' where id=1;
 4
Author: Bryce,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-06 20:45:40

Jednym z najlepszych sposobów na odzyskanie nazwy użytkownika i hasła jest ich przeglądanie i aktualizowanie. Model użytkownika zapewnia doskonały sposób, aby to zrobić.

W tym przypadku używam Django 1.9

  1. przejdź do katalogu głównego tj. gdzie "manage.py" plik znajduje się za pomocą konsoli lub innej aplikacji, takiej jak Git.
  2. Pobierz powłokę Pythona za pomocą polecenia "python manage.py shell".
  3. Importuj Model użytkownika, wpisując następujące polecenie "od django.contrib.auth.models import User "
  4. Pobierz wszystkich użytkowników, wpisując następujące polecenie "users = User.obiektów.all () "
  5. Wyświetla listę użytkowników Dla Użytkowników Pythona 2 Użyj polecenia " print users" Dla Użytkowników Pythona 3 Użyj polecenia " print(users)" Pierwszym użytkownikiem jest zazwyczaj administrator.

  6. Wybierz użytkownika, którego chcesz zmienić hasło np.

    "user = users[0]"

  7. Ustaw hasło

    user.set_password('name_of_the_new_password_for_user_selected')

  8. Save the new hasło

    "user.save()"

Uruchom serwer i zaloguj się, używając nazwy użytkownika i zaktualizowanego hasła.

 4
Author: Stephen Mwangi Wanjohi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-28 11:45:48

Jeśli zapomniałeś utworzyć użytkownika admin najpierw zbuduj go za pomocą createsuperuser polecenia na manage.py następnie zmień hasło.

 3
Author: rapid2share,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-21 11:28:28

Możesz spróbować tego:

1.Zmień Hasło Administratora bez konsoli

python manage.py changepassword <username>

2.Zmień Hasło Administratora za pomocą konsoli

Tutaj wpisz opis obrazka Tutaj wpisz opis obrazka

 3
Author: Mr Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-30 20:24:36

W przypadku, gdy nie znasz nazw użytkowników utworzonych tutaj. Możesz uzyskać Użytkowników zgodnie z opisem @FallenAngel powyżej.

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

Jednak w przypadku, gdy stworzyłeś swój niezależny model użytkownika. Prosty przypadek polega na tym, że zamiast domyślnej nazwy użytkownika chcesz użyć wiadomości e-mail jako nazwy użytkownika. W takim przypadku twój model użytkownika mieszka gdzieś, na przykład your_accounts_app.modele wtedy powyższe rozwiązanie nie zadziała. W tym przypadku możesz zamiast tego użyć metody 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
Author: unlockme,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-01 16:52:33

Kolejną rzeczą, na którą warto zwrócić uwagę, jest ustawienie statusu użytkownika is_staff jako aktywny. Przynajmniej to mi pasuje. Aby uzyskać więcej szczegółów, stworzyłem Inny superuser, Jak ludzie wyjaśnili powyżej. Następnie przechodzę do tabeli bazy danych auth_user i szukam tej nazwy użytkownika, aby upewnić się, że jej znacznik is_staff jest ustawiony na 1. To w końcu pozwoliło mi zalogować się na stronę admin.

 1
Author: user1330974,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-14 19:32:57

Python manage.py nazwa użytkownika changepassword

 0
Author: Basant Rules,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-02 09:19:04

Utwórz nowego superużytkownika za pomocą polecenia "python manage.py createsuperuser". Zaloguj się jako nowy super użytkownik. Kliknij na link "użytkownicy". Następnie kliknij użytkownika, który chcesz usunąć. kliknij przycisk Usuń Użytkownika na końcu strony formularza.

Uwaga-powyższy proces wprowadzi zmiany w dziennikach aktywności wykonanych przez danego użytkownika.

 0
Author: Ishan Dixit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-03 14:59:50