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

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

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

Ответы [ 15 ]

644 голосов
/ 15 июня 2011
python manage.py changepassword <user_name>

см. Документы

155 голосов
/ 15 июня 2011
  1. python manage.py createsuperuser создаст другого суперпользователя, вы сможете войти в систему admin и запомнить ваше имя пользователя.
  2. Да, почему бы и нет.

Чтобы датьпривилегии обычного пользователя, откройте оболочку с python manage.py shell и попробуйте:

from django.contrib.auth.models import User
user = User.objects.get(username='normaluser')
user.is_superuser = True
user.save()
103 голосов
/ 15 июня 2011

Вы можете попробовать через консоль:

python manage.py shell

затем используйте следующий скрипт в оболочке

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

выведет список всех суперпользователей в системе. если вы узнаете свое имя пользователя из списка:

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

и вы установили новый пароль (:

20 голосов
/ 15 июня 2011

Вы можете создать нового суперпользователя с помощью команды createsuperuser.

14 голосов
/ 13 марта 2016

Это очень хороший вопрос.

python manage.py changepassword user_name

Пример: -

python manage.py changepassword mickey
11 голосов
/ 12 сентября 2016

новая настройка должен первый запуск python manage.py createsuperuser для создания пользователя.Похоже, что по умолчанию нет имени пользователя и пароля для входа в администратор.

9 голосов
/ 28 февраля 2018

Один из лучших способов восстановить имя пользователя и пароль - просмотреть и обновить их.Модель пользователя предоставляет идеальный способ сделать это.

В этом случае я использую Django 1.9

  1. Перейдите в корневой каталог i, e.где вы находите файл «manage.py», используя консоль или другое приложение, такое как Git.
  2. Получите оболочку Python с помощью команды «python manage.py shell».
  3. Импорт пользователяДля моделирования введите следующую команду "from django.contrib.auth.models import User"
  4. Чтобы получить всех пользователей, введите следующую команду "users = User.objects.all ()"
  5. Распечатка списка пользователей. Для пользователей Python 2 используйте команду «print users». Для пользователей Python 3 используйте команду «print (users)». Первым пользователем обычно является администратор.

  6. Выберите пользователя, для которого вы хотите сменить пароль, например

    "user = users[0]"

  7. Установите пароль

    user.set_password('name_of_the_new_password_for_user_selected')

  8. Сохранить новый пароль

    "user.save()"

Запустить сервер и войти, используяимя пользователя и обновленный пароль.

6 голосов
/ 30 января 2018

Вы можете попробовать это:

1.Изменить пароль суперпользователя без консоли

python manage.py changepassword <username>

2.Изменить пароль суперпользователя через консоль

enter image description here enter image description here

6 голосов
/ 04 января 2014

Возможно, вы также неправильно ответили на вопрос об установке и у вас ноль сотрудников. В этом случае отправляйтесь на postgres:

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

Чтобы исправить, отредактируйте напрямую:

update auth_user set is_staff='true' where id=1;
5 голосов
/ 25 января 2014

Если вы забыли создать пользователя с правами администратора, сначала создайте его с помощью команды createsuperuser на manage.py, затем измените пароль.

...