В моем проекте я использую allauth
, а в моем пользовательском методе LoginSerializer validate
:
if 'allauth' in settings.INSTALLED_APPS:
from allauth.account import app_settings
# Authentication through email
if app_settings.AUTHENTICATION_METHOD == app_settings.AuthenticationMethod.EMAIL:
user = self._validate_email(email, password)
# Authentication through username
if app_settings.AUTHENTICATION_METHOD == app_settings.AuthenticationMethod.USERNAME:
user = self._validate_username(username, password)
Вы видите, что есть app_settings.AuthenticationMethod.EMAIL
и app_settings.AuthenticationMethod.USERNAME
типы.
Я прочитал исходный код, который нашел:
Есть еще один тип USERNAME_EMAIL
:
class AppSettings(object):
class AuthenticationMethod:
USERNAME = 'username'
EMAIL = 'email'
USERNAME_EMAIL = 'username_email'
Где можно установить allauth, используя AuthenticationMethod.USERNAME_EMAIL?