def login(request):
if request.method == 'POST':
# 获取用户的用户名和密码
username = request.POST.get('username')
password = request.POST.get('password')
# 利用 ORM 操作, 并校验数据是否正确
user_obj = models.User.objects.filter(username=username).first()
if user_obj:
# 去数据库查询, 相当于 select * from app_Zero_author where username = 'Jason';
if password == user_obj.password:
return HttpResponse('登录成功')
return HttpResponse('密码错误')
return HttpResponse('此用户不存在')
return render(request, 'login.html')
在登录页面输入账户发现一直提示密码错误
解决方案如下:
1.检查 ORM 调用 models.py 中的数据对象是否正确
2.检查 user_obj 是否调用 '.first()' 方法获取用户名
3.查看 password 数据类型
- print(type(password)) -- 结果为:<class 'str'>
- 查看 login.html 可知 password 为 input 框输入,因此数据类型为字符串
- 修改 password 的数据类型 -- int(password)