Как сбросить пароль администратора Django? - PullRequest
376 голосов
/ 15 июня 2011

Я использую Django (версия 1.3) и забыл имя пользователя и пароль администратора.Как сбросить оба?

И можно ли сделать обычного пользователя в админ, а затем удалить статус админа?

Ответы [ 15 ]

4 голосов
/ 01 ноября 2017

В случае, если вы не знаете имена пользователей, созданные здесь.Вы можете получить пользователей, как описано @FallenAngel выше.

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

Однако в случае, если вы создали свою независимую модель пользователя.Простой случай, когда вы хотите использовать электронную почту в качестве имени пользователя вместо имени пользователя по умолчанию.В этом случае ваша пользовательская модель где-то живет, например, your_accounts_app.models, тогда вышеуказанное решение не будет работать.В этом случае вы можете вместо этого использовать метод 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
3 голосов
/ 03 января 2018

Создайте нового суперпользователя с помощью команды "python manage.py createuperuser". Войдите в систему как новый супер пользователь. Нажмите на ссылку «пользователи». Затем нажмите на пользователя, которого хотите удалить. нажмите на удалить пользователя в конце страницы формы.

Примечание. Приведенный выше процесс внесет изменения в журналы активности, выполненные этим конкретным пользователем.

3 голосов
/ 14 июня 2015

Еще одна вещь, которую стоит отметить, - установить статус вашего пользователя is_staff как активный. По крайней мере, это то, что заставляет меня работать. Для более подробной информации я создал еще один superuser, как люди объяснили выше. Затем я перехожу к таблице базы данных auth_user и ищу это имя пользователя, чтобы убедиться, что его флаг is_staff установлен на 1. Это наконец позволило мне войти на сайт admin.

1 голос
/ 02 сентября 2017

python manage.py changepassword имя пользователя

0 голосов
/ 25 апреля 2019

использование

python manage.py dumpdata

тогда посмотрите в конце вы найдете имя пользователя

...