email = request.data.get('email', None)
password = request.data.get('password', None)
account = authenticate(email=email, password=password)
我正在使用authenticate()函数,但它总是返回None。 你能否提出一些修改来纠正这个功能。
答案 0 :(得分:0)
默认情况下,django使用name从请求中获取/验证用户。因此,您必须在用户模型中设置gm(__dirname+'/Tiff/Recorded.tiff')
.append(__dirname+'/Tiff/another.tiff').append(false);
。
描述用户模型上用作唯一标识符的字段名称的字符串。这通常是某种用户名,但也可以是电子邮件地址或任何其他唯一标识符。该字段必须是唯一的(即,在其定义中设置unique = True),除非您使用可支持非唯一用户名的自定义身份验证后端。
此外,由于您使用的是DRF,请确保您使用的CBV不会覆盖USERNAME_FIELD = 'email'
。
答案 1 :(得分:0)
以下是身份验证的语法
user = authenticate(username=username, password=password)
此处用户名是用户模型的USERNAME_FIELD值。默认情况下,其值为“username”,因此authenticate方法将自动检查用户名和密码组合。要更改要通过电子邮件进行身份验证的用户,我们必须设置USERNAME_FIELD = 'email'
。
user = authenticate(username=email, password=password)