django - Django - 仅使用电子邮件进行身份验证
问题描述
我正在尝试进行自定义身份验证,我只使用没有密码的电子邮件地址登录。我在互联网上搜索,但没有找到好的答案。我是 Django 的新手,也许这就是我找不到解决方案的原因。谁能帮我解决这个问题?谢谢
解决方案
Djangodjango.contrib.auth
有authenticate
,login
方法。如果您只想使用仅登录用户email
,则User
使用电子邮件和调用login
方法获取对象
例子
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 等authenticate
方法来验证用户
推荐阅读
- wordpress - 如何在 OpenShift 中使用 CLI 访问 wp-config.php 文件?
- javascript - 从名称列表中获取所有可能的对
- javascript - 组件 q-table 中单元格的 Quasar 条件样式
- python - 从 Python 脚本更新多行 SQL 表
- c# - 通过单击 C# 中的按钮返回更新的列表
- python - 从泡菜文件中读取特定列
- javascript - 将链接标签添加到表格中的每一行并打开模式
- python - 反向整形给出不同的结果
- if-statement - 如果没有得到输入的值,为什么?“Python”
- go - 如何解组数据库中的 float64 记录以创建插入