我有以下代码:
#创建用户:
def create_user(request):
if request.method == 'POST':
user_info = forms.UserInfoForm(request.POST)
if user_info.is_valid():
cleaned_info = user_info.cleaned_data
User.objects.create_user(username=cleaned_info['username'], password=cleaned_info['password'])
render(.......)
这很管用。我可以检查auth_用户,我可以看到用户名和密码以及所有其他创建和添加的字段。在
现在,我在用username='testcase'和password='test'创建用户之后,尝试使用以下代码对用户进行身份验证:使用上面的代码。在
#验证用户
^{pr2}$用户始终返回为“无”。怎么回事?我运行的是django1.10.2。在
更新:
当我登录到admin时,我可以看到create_user函数创建的用户。身份不是工作人员(因为它应该是)。我将其更改为staff,以查看这是否导致问题,但get_entry方法仍然不会为用户生成任何结果。 令人沮丧。我真的不知道我做错了什么。在
你的代码似乎是正确的。在
问题可能是传递给
create_user
视图的方式(传入get_entry
视图的参数不太可能是问题,因为参数username
和password
是硬编码的)。在在将}字段可能没有正确保存和/或传递空的{},Django可能正在为空密码创建哈希。在
username
和password
传递给User.objects.create_user()
之前,请尝试将它们打印出来,因为{附言:这只是一个猜测,需要你的回应,以进一步诊断这个问题。在
将用户保存在一个变量中,然后调用用户.保存()因为用户无法调用save()方法,请尝试:
那你需要打电话身份验证在函数get_entry中:
^{pr2}$相关问题 更多 >
编程相关推荐