Пароли в django шифруются одним способом, поэтому их невозможно расшифровать, поэтому нет способа найти действительный пароль любого пользователя из таблицы пользователей в базе данных.
Если вы хотите войти в систему от имени другого пользователя без необходимостиЕсли вы знаете их пароль, то вы можете написать какой-нибудь сложный код для этого или использовать сторонний пакет.
django-hijack выглядит как хороший.В его документах есть хорошее объяснение того, как его использовать, поэтому я не собираюсь проходить через это здесь.Если вам не нравится этот пакет, вы можете просмотреть список пакетов для этой цели здесь на djangopackages и выбрать тот, который вам нравится.
Использование django-hijack:
Завершите установку и После установки * Сначала выполните шаги 1016 *.
Отправьте запрос на /hijack/<user_id>
, где <user_id>
- столбец id
таблицы user
.Если вы не обновили идентификатор поля для пользователя модели, это будет 1, 2, 3, .... Таким образом, URL будет похож на /hijack/1/
Сделать запрос на публикациюна /hijack/username/<username>
, если вы хотите перехватить имя пользователя.например./hijack/username/awesome_username/
Сделайте почтовый запрос на /hijack/email/<user email>/
, если вы хотите перехватить по электронной почте пользователя.например./hijack/email/awesome@email.com/
После отправки запроса на один из этих URL-адресов в качестве суперпользователя вы будете перенаправлены на указанный HIJACK_LOGIN_REDIRECT_URL
в settings.py
Я не уверен, будет ли django-hijack работать на Python 3 или более новых версиях Django.Если это не работает, попробуйте django-impersonate , который аналогичным образом предоставляет те же функции и официально поддерживает python 3.6+ и django 1.11 +