Django rest auth email instead of username
Following setting worked:
#This is required otherwise it asks for email serverEMAIL_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 usernameAUTHENTICATION_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",)
I'm using this package too, and by call this config it worked for me:
ACCOUNT_AUTHENTICATION_METHOD = 'email'
Be careful about this config, this config belongs to django-allauth
, see this:
class AuthenticationMethod: USERNAME = 'username' EMAIL = 'email' USERNAME_EMAIL = 'username_email'
The above class is the settings which is in allauth
, so you should write 'EMAIL' in lower case.