可能重复:
在Django中接受电子邮件地址作为用户名
与Django一起提供的身份验证模型基于用户名.
如何根据电子邮件而不是用户名更改身份验证?
更具体一点:
使用用户名验证,登录用户我们执行以下操作:
user = authenticate(name,password)
.......
login(request,user)
Run Code Online (Sandbox Code Playgroud)
如果我们使用电子邮件进行身份验证,请写上述语句的内容?
形式:
我打算编写自己的表单,显示字段电子邮件,密码和验证.这是正确的方法吗?
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 )
Run Code Online (Sandbox Code Playgroud)
这两个答案都不是我的.向另一个主题投票给业主以获得业力提升.我只是在这里复制它们以使这个线程尽可能完整.
| 归档时间: |
|
| 查看次数: |
11342 次 |
| 最近记录: |