gpt4 book ai didi

django - 如何使用电子邮件而不是用户名进行用户身份验证?

转载 作者:行者123 更新时间:2023-12-03 20:44:14 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




10年前关闭。




Possible Duplicate:
Accepting email address as username in Django



与 Django 一起提供的身份验证模型基于
用户名。

如何更改基于电子邮件的身份验证而不是
用户名?

更具体地说 :

通过用户名身份验证,要登录用户,我们执行以下操作:
 user = authenticate(name,password)
.......
login(request,user)

如果我们进行身份验证,应为上述语句写什么
使用电子邮件?

表格 :

我打算编写自己的表单来显示字段
电子邮件、密码和验证。
这是正确的方法吗?

最佳答案

我找到了 this snippet在阅读与此重复的问题时。还要检查this code :

class UserForm( forms.ModelForm ):
class Meta:
model= User
exclude= ('email',)
username = forms.EmailField(max_length=64,
help_text = "The person's email address.")
def clean_email( self ):
email= self.cleaned_data['username']
return email

class UserAdmin( admin.ModelAdmin ):
form= UserForm
list_display = ( 'email', 'first_name', 'last_name', 'is_staff' )
list_filter = ( 'is_staff', )
search_fields = ( 'email', )

admin.site.unregister( User )
admin.site.register( User, UserAdmin )

这两个答案最初都不是我的。在另一个线程上投票给所有者以增加业力。我只是将它们复制到这里以使这个线程尽可能完整。

关于django - 如何使用电子邮件而不是用户名进行用户身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/704168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com