本文介绍了Django休息身份验证电子邮件而不是用户名的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个django项目,我使用Django-rest-auth进行身份验证。我想使用密码 的 电子邮件验证用户,而不是用户名+密码。我有以下我的settings.py中的设置,但没有为我做任何事情:
REST_SESSION_LOGIN = True
EMAIL_BACKEND = django.core.mail.backends.console.EmailBackend'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_AUTHENTICATION_METHOD ='EMAIL'
ACCOUNT_EMAIL_VERIFICATION ='可选'
如何实现?
解决方案
:
#这是必需的,否则它要求电子邮件服务器
EMAIL_BACKEND ='django.core.mail.backends。
#ACCOUNT_EMAIL_REQUIRED = True
#AUTHENTICATION_METHOD ='EMAIL'
#ACCOUNT_EMAIL_VERIFICATION ='可选'
ACCOUNT_AUTHENTICATION_METHOD ='电子邮件'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_U SERNAME_REQUIRED = False
#以下是添加到使用电子邮件而不是用户名
AUTHENTICATION_BACKENDS =(
#需要在Django管理员中以用户名登录,不管`allauth`
django.contrib.auth.backends.ModelBackend,
#`allauth`具体的身份验证方法,如通过电子邮件登录
allauth.account.auth_backends.AuthenticationBackend ,
)
I have a django project in which I am using Django-rest-auth to do authentication. I want to use email with password to authenticate the user and not the username+password.
I have following settings in my settings.py but it didn't do anything for me:
REST_SESSION_LOGIN = True
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_AUTHENTICATION_METHOD = 'EMAIL'
ACCOUNT_EMAIL_VERIFICATION = 'optional'
How can I achieve it?
解决方案
Following setting worked:
#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",
)
这篇关于Django休息身份验证电子邮件而不是用户名的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!