Django-仅通过电子邮件进行身份验证

Django-仅通过电子邮件进行身份验证,django,django-authentication,Django,Django Authentication,我正在尝试进行自定义身份验证,仅使用电子邮件地址登录,而不使用密码。我在网上搜索了一下,但没有找到一个好答案。我是Django的新手,也许这就是我找不到解决方案的原因。有人能帮我解决这个问题吗?谢谢DjangoDjango.contrib.auth拥有认证,登录方法。如果您只想使用电子邮件登录用户,则使用电子邮件获取用户对象并调用登录方法 范例 from django.contrib.auth import authenticate, login as auth_login if reques

我正在尝试进行自定义身份验证,仅使用电子邮件地址登录,而不使用密码。我在网上搜索了一下,但没有找到一个好答案。我是Django的新手,也许这就是我找不到解决方案的原因。有人能帮我解决这个问题吗?谢谢

Django
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中的密码字段不是必需的。有些用户只能使用用户名或电子邮件登录。我可以这样做吗?