Django, переопределение " аутентифицируется ()", когда у нас есть электронная почта вместо имени пользователя
Я использую приложение django-email-as-username
для использования электронной почты, а не имени пользователя для аутентификации, и это работает как шарм.
Теперь в view я хочу позвонить
if request.user.is_authenticated()
Но этот метод просто аутентифицирует пользователей на основе (имя пользователя+пароль), а не (электронная почта+пароль). Как я должен справиться с этим ?
Есть предложения ?
1 ответ:
В Django
is_authenticated()
всегда возвращаетTrue
дляUser
экземпляров и всегда возвращаетFalse
дляAnonymousUser
экземпляров. Это не имеет ничего общего с именем пользователя/паролем/электронной почтой иdjango-email-as-username
не изменяет это поведение.Смотрите исходный код Django :
# In User class line 279 def is_authenticated(self): """ Always return True. This is a way to tell if the user has been authenticated in templates. """ return True