Как восстановить пароль пользователя 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()

и теперь вы можете войти в систему с новым паролем

Вернуться на верх