我正在遵循有关设置身份验证的教程(https://thinkster.io/tutorials/django-json-api/authentication)。我已经到了注册用户并收到令牌的地步。我可以掉进去做
>>> user = Users.objects.first()
>>> user.email
>>> test@outlook.com
>>> user.password
>>> 12345678
这表明该用户存在于数据库中。但是当调用我的登录端点时;
/users/login/
authenticate方法返回无。
user = authenticate(username=email, password=password)
我刚刚打印了电子邮件和密码,它显示了传入的正确数据。
我还将我的USERNAME_FIELD设置为在模型中通过电子邮件发送。
USERNAME_FIELD = 'email'
我已经在设置中将模型更新为
AUTH_USER_MODEL = 'aemauthentication.User'
我已经浏览了一下,设置文件中的上一行似乎是大多数有此问题的人的认可答案。
GitHub链接到项目-https://github.com/Daniel-sims/aem_1
答案 0 :(得分:1)
按照; Django User Creation successful, but authenticate() returning None
我已更改create_user方法以将密码作为参数;
user = self.model(username=username, email=self.normalize_email(email), password=password)
但是您必须调用设置密码,因此一切正常;
user = self.model(username=username, email=self.normalize_email(email))
user.set_password(password)