Как восстановить пароль пользователя Django после переноса проекта на другой сервер
Я перенес свой проект Django на другой сервер, поэтому решил, что база данных - это самое важное, что есть на сервере, поскольку мой код находится на GitHub, а медиафайлы - на S3 bucket. Поэтому я сделал резервную копию базы данных в виде SQL-дампа.
Я настроил свой проект, восстановил базу данных, настроил домен и т.д. и все вроде бы ничего не изменилось (работает хорошо). Затем я попытался войти в систему, но он говорит, что пароль неверен. Я думаю, что способ хэширования пароля в Django изменился, из-за чего он не совпадает с хэшем в базе данных. Все данные в базе данных актуальны.
Как я могу восстановить пароль пользователей и каковы наилучшие методы для успешного перехода на среднюю скорость? У меня больше нет доступа к старому серверу.
просто восстановите свой пароль с помощью Django sheel
Зайдите в терминал, где находится manage.py
, и выполните следующие действия.
Эта команда включит оболочку для вас
python manage.py shell
вы можете получить доступ к модели пользователя, вызвав get_user_model()
>>> from django.contrib.auth import get_user_model
В этом примере мое имя пользователя admin и новый пароль 1234, поэтому просто замените свое имя пользователя на admin и пароль на 1234
>>> user = get_user_model().objects.get(username="admin")
>>> user.set_password("1234")
>>> user.save()
>>> exit()
и теперь вы можете войти в систему с новым паролем