繁体   English   中英

Django电子邮件作为用户名

[英]Django Email As User Name

有什么方法可以使用电子邮件作为用户名,而无需指定自定义用户模型。 我是django的新手,从过去的几个小时开始,我一直在寻找并试图找到一种方法。 我尝试创建自定义模式,但随后一切都变得像管理员登录一样更改。

其次,有什么方法可以为特定应用定义自定义模型。 例如。 仅在前面。 这样后端保持原样。

我只需要使用电子邮件作为用户名进行用户登录。

是否可以使用

USERNAME_FIELD = 'email'

我实际上最终使用了django-authtools

使用表格获取电子邮件和密码

email = form.cleaned_data['email']
password = form.cleaned_data['password']

如果给定的电子邮件与现有记录匹配。

try:
    user = User.objects.get(email=email)
    if user.check_password(password):
        username = user.username
        user = authenticate(username=username, password=password)
        login(request, user)
        messages.success(request, "Welcome {}".format(email))
    else:
        messages.error(request, "Password not match for  {}".format(email))
except User.DoesNotExist:
    pass

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM