django怎么在没有密码不能认证的情况下完成用户登录?
当你是手工登入一个用户时,你必须在调用login()之前通过authenticate()成功地认证该用户。authenticate()在用户上设置一个属性,注意哪个认证后端成功验证了该用户,以及此信息以后在登录过程中需要。如果你试图登入一个直接从数据库中取出的用户,将会抛出一个错误。
如果你想直接登陆,加上这个属性就可以了:
user.backend = ‘django.contrib.auth.backends.ModelBackend’
login(request, user)