Сбой входа в систему Django Rest Framework

Я пытаюсь заставить DRF работать без пользовательских сериализаторов, представлений и урлов, просто используя стандартные, но есть проблема с моим логином. Всякий раз, когда я создаю пользователя на /api/v1/auth/register (это происходит успешно), а затем пытаюсь войти на /api/v1/auth/login, я получаю следующее сообщение об ошибке:

{
    "non_field_errors": [
        "Unable to log in with provided credentials."
    ]
}

Требуемые учетные данные для входа в систему следующие, хотя я установил ACCOUNT_USERNAME_REQUIRED = False:

{
    "username": "",
    "email": "",
    "password": ""
}

В панели администратора я успешно вхожу в систему с теми же учетными данными, что доказывает их правильность. Даже когда я настраиваю использование только электронной почты в качестве учетных данных, мне все равно требуется пароль. Вот мой файл settings.py:


...

ALLOWED_HOSTS = []

# Application definition

INSTALLED_APPS = [
    ...

    'django.contrib.sites',
    'rest_framework',
    'rest_framework.authtoken',
    'dj_rest_auth',
    'rest_framework_simplejwt',
    'allauth',
    'allauth.account',
    'allauth.socialaccount',
    'dj_rest_auth.registration',
]

MIDDLEWARE = [
    ...
    "allauth.account.middleware.AccountMiddleware",
]

...

REST_FRAMEWORK = {
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'dj_rest_auth.jwt_auth.JWTCookieAuthentication',
    )
}

SIMPLE_JWT = {
    "ACCESS_TOKEN_LIFETIME": timedelta(hours=1),
    "REFRESH_TOKEN_LIFETIME": timedelta(days=1),
}

REST_AUTH = {
    "USE_JWT": True,
    "JWT_AUTH_COOKIE": "_auth",
    "JWT_AUTH_REFRESH_COOKIE": "_refresh", 
    "JWT_AUTH_HTTPONLY": False,
}

SITE_ID = 1

ACCOUNT_AUTHENTICATION_METHOD = "email"  
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_EMAIL_VERIFICATION = "mandatory" 
ACCOUNT_CONFIRM_EMAIL_ON_GET = True  
LOGIN_URL = "/api/v1/auth/login"  

Я перепробовал множество других подходов, таких как пользовательская модель, представления и сериализаторы, но это так и не помогло, даже стало хуже. Я предполагаю, что есть что-то связанное с dj_rest_auth.serializers.LoginSerializer, потому что он выбрасывает ошибку, но я не знаю, как это исправить. Как вы можете видеть, это большой сериализатор, и многое здесь может пойти не так:

PS Я очень тупой (вы уже видите), поэтому, пожалуйста, объясните мне как можно проще. Спасибо!

Вернуться на верх