我最初使用电子邮件和密码登录,但现在想更改它,以便我们可以使用手机号或电子邮件地址和密码登录。我不知道我的代码要更改的部分,因为我不想删除已经存在的用户和数据。在
在表单.py在
from django.contrib.auth.models import User
from django import forms
class UserForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput)
class Meta:
model = User
fields = ['first_name', 'last_name', 'email', 'password']
在视图.py在
^{pr2}$请考虑到我是Django新手。提前感谢:)
在视图的post方法中,确定用户给了您什么。如果是电子邮件,则向Django的
authenticate()
方法提供电子邮件。如果不是,那么假设它是一个电话号码(您也可以在那里运行额外的验证),并在身份验证过程中使用这个号码。在另一种方法是创建一个自定义的
authenticate()
方法,如下所示:让我知道这对你是否有效。在
此线程中的用户
user3282276
也获得了积分:Log in user using either email address or username in Django相关问题 更多 >
编程相关推荐