Почему ты делаешь это? Во-первых, вы не должны ловить исключение только для его повторного повышения. Работая с DEBUG, Django предоставляет вам отличную страницу с ошибкой, которая показала бы вам фактическую ошибку и код, который ее вызывает, в частности, вы бы увидели, к какому атрибуту обращаются.
Скорее всего, ошибка в том, что вы не вызвали authenticate
для пользователя, который, наряду с проверкой пароля, также добавляет запись атрибута, бэкэнд аутентификации которого аутентифицировал этого пользователя. Документация о том, как зарегистрировать пользователя в , совершенно ясно, что вам нужно вызывать это - обратите внимание на поле с надписью «вызов authenticate
first».
Третье, что вам определенно не следует делать, это проверять пароль как текст - Django хранит их как хэши, поэтому вам нужно сравнить значение хэша. Опять же, authenticate
позаботится об этом за вас.