在Django的2.x版本以后使用Django内置的authenticate进行用户合法性进行判别时,会判断is_create状态是否为1,如果is_active状态为0,则返回用户未None,即如果用户未激活则认为不存在该用户。
开始看的教程是1.x版本的,一直以为是使用
user = User.objects.create_user(username , email , password)
创建用户时,因为密码是使用加密方式存储在数据库中的,
我感觉是不是通过
user_name = request.POST.get('username')
pass_word = request.POST.get('pwd')
request方法提取表单中的输入内容由于是未加密的导致password输入和提取的数据库中的加密的password匹配不成功所以导致返回用户为空。
验证是否提取的password与数据库中的password是否相同
首先导入
from django.contrib.auth.hashers import check_password
其中提供了check_password的方法
对两个password进行验证
user = User.objects.get(username = username)
pwd = user.password
print('*'*50)