вписываю в поле пароль, то пароль сохраняется, как есть и не кодируется. В результате, потом с этим паролем не войти. Почему так?
Для админки специальная форма для юзера, в базу должен лететь хэш
посмотри какой-нибудь туториал о том как это делается
покажи как ты его определил
Нужно ещё и переопредялять стандартные формы админки, которые пароль шифруют.
пароль, в админке, шифруется в менеджере. метод _create_user() Он отнаследовал UserManager, там есть. Не понятно как создает пользователя
проследи ход выполнения кода, в дебагере, заходит ли в _create_user() в твоем менеджере модели
Этого недостаточно. Есть на СтакОверФлоу по этому поводу небольшая портянка, суть которой сводится к тому, что по непонятным причинам, при переопределении стандартного юзера, пароль перестает шифроваться через админку. Я уже по этим граблям ходил :)
нет ни какой-то непонятности, поле пасса это обычный чарфилд, он так и выводится в кастомной админке, как такое поле и сохраняется также как обычный чарфилд, ведь для формы он просто чарфилд
Выше утверждается, что наследование от UserManager, должно решить это
👍👌
тогда ему проще, в save() у модели дописать наверно
ага
но не только, советуется изменять форму добавления пользователя т.е создавать так как тебе нужно отдельно
нет, дело в переопределении вывода в админку я про регистрацию модели в админке и то как оно образует формы исходя из твоей модели
отключил менеджер, всё равно пароль не шифруется
Я выше писал пример, как можно переопределить метод save, чтобы пароль шифровался всегда
но так ведь не должно быть
Согласен. Но у авторов Джанго другое мнение - если кастомизируешь юзера, то кастомизируй его до упора 😂
сделал так, всё хеширует, но по паролю не войдёшь
что-то, ты накосячил))
наверно у них не тправ войти в админку
да, так и есть. Поставил режим персонала, вошёл
а is_staff проставлено в True?
так ты тестового суперпользователя создай
супер пользователь изначально был, я тестил обычных
крч, все ок? ок, бери следующую задачу
Обсуждают сегодня