Django rest de correo electrónico de autenticación en lugar de nombre de usuario

Tengo un proyecto de django en el que estoy usando Django-rest-auth para realizar la autenticación. Quiero usar el correo electrónico con contraseña para autenticar al usuario y no el nombre de usuario y la contraseña.

Tengo las siguientes configuraciones en mi configuración.py pero no hizo nada por mí:

REST_SESSION_LOGIN = True EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_AUTHENTICATION_METHOD = 'EMAIL' ACCOUNT_EMAIL_VERIFICATION = 'optional' 

¿Cómo puedo lograrlo?

El siguiente ajuste funcionó:

 #This is required otherwise it asks for email server EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' # ACCOUNT_EMAIL_REQUIRED = True # AUTHENTICATION_METHOD = 'EMAIL' # ACCOUNT_EMAIL_VERIFICATION = 'optional' ACCOUNT_AUTHENTICATION_METHOD = 'email' ACCOUNT_EMAIL_REQUIRED = True ACCOUNT_USERNAME_REQUIRED = False #Following is added to enable registration with email instead of username AUTHENTICATION_BACKENDS = ( # Needed to login by username in Django admin, regardless of `allauth` "django.contrib.auth.backends.ModelBackend", # `allauth` specific authentication methods, such as login by e-mail "allauth.account.auth_backends.AuthenticationBackend", ) 

También estoy usando este paquete, y al llamar a esta configuración funcionó para mí:

 ACCOUNT_AUTHENTICATION_METHOD = 'email' 

Tenga cuidado con esta configuración, esta configuración pertenece a django-allauth , vea esto:

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

Por encima de la clase hay una configuración que está en allauth , así que escribe ‘CORREO ELECTRÓNICO’ en minúsculas.

Espero que ayude