DoesNotExist: User matching query does not exist.

如果是用户登录视图函数里出现的这个错误。可能有两种原因。
1、获取到的用户名不存在,判断逻辑没有写好。
解决办法: 可以使用try…except…语句将可能会导致程序终止的语句包涵其中,例如:

try
    User.objects.filter(username=username).get().username
except:
    pass

2、验证密码的时候没有对提交的密码进行加密验证。 如果用的自己写的加密方法就用自己的方法进行加密之后验证。如果用的Django自带的用户模型,请先

from django.contrib.auth import authenticate, login

然后再对密码进行验证

user = authenticate(username=user_name, password=pass_word)

评论 2