Django-仅通过电子邮件进行身份验证
我正在尝试进行自定义身份验证,仅使用电子邮件地址登录,而不使用密码。我在网上搜索了一下,但没有找到一个好答案。我是Django的新手,也许这就是我找不到解决方案的原因。有人能帮我解决这个问题吗?谢谢DjangoDjango-仅通过电子邮件进行身份验证,django,django-authentication,Django,Django Authentication,我正在尝试进行自定义身份验证,仅使用电子邮件地址登录,而不使用密码。我在网上搜索了一下,但没有找到一个好答案。我是Django的新手,也许这就是我找不到解决方案的原因。有人能帮我解决这个问题吗?谢谢DjangoDjango.contrib.auth拥有认证,登录方法。如果您只想使用电子邮件登录用户,则使用电子邮件获取用户对象并调用登录方法 范例 from django.contrib.auth import authenticate, login as auth_login if reques
Django.contrib.auth
拥有认证
,登录
方法。如果您只想使用电子邮件登录用户
,则使用电子邮件获取用户
对象并调用登录
方法
范例
from django.contrib.auth import authenticate, login as auth_login
if request.method == 'POST':
form = SomeLoginForm(request.POST or None)
if form.is_valid():
username = User.objects.get(email=form.cleaned_data['email'])
if user:
auth_login(request, user)
但我不推荐。您应该使用诸如密码或OTP之类的机制来验证用户,
验证
方法就是从这里来的您能解释一下“仅使用电子邮件地址”吗?只需输入一封电子邮件就足够了,还是应该每次发送一封带有一次性登录链接的电子邮件?没有密码的意味着什么?我希望django admin中的密码字段不是必需的。有些用户只能使用用户名或电子邮件登录。我可以这样做吗?