Как установить для `app_settings`` AuthenticationMethod` значение `username_email`? - PullRequest
0 голосов
/ 04 сентября 2018

В моем проекте я использую 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 типы.

Я прочитал исходный код, который нашел:

enter image description here

Есть еще один тип USERNAME_EMAIL:

class AppSettings(object):

    class AuthenticationMethod:
        USERNAME = 'username'
        EMAIL = 'email'
        USERNAME_EMAIL = 'username_email'

Где можно установить allauth, используя AuthenticationMethod.USERNAME_EMAIL?

1 Ответ

0 голосов
/ 04 сентября 2018

настроить ACCOUNT_AUTHENTICATION_METHOD в вашем settings.py, он будет работать:

ACCOUNT_AUTHENTICATION_METHOD = 'username_email'

пожалуйста, будьте осторожны, не устанавливайте AUTHENTICATION_METHOD.

Более подробную информацию можно найти в официальном документе .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...