我目前使用django更新/创建视图,我遇到了一些问题:
它不会使用django哈希算法保存新密码,因此密码为
被忽略,用户无法登录。
class Update(UpdateView):
model = User
fields = ['username', 'password']
如何更新/创建外键?
有没有办法自定义字段?即将它们显示为
无线电/复选框/密码?
THX
答案 0 :(得分:1)
我可以显示旧密码,但它不会使用django哈希算法保存新密码,因此密码将被忽略,用户无法再登录。
这是因为为了安全起见,Django不存储原始密码,它会存储原始密码的哈希值,足以判断用户是否输入了正确的密码
要设置密码,请使用User.set_password()
user = request.user # or another user source
user.set_password('raw password string')
因此,不要直接更改字段,而是更改上面的密码以存储哈希(而不是原始密码),并且不要打扰"显示旧密码",安全系统赢了& #39; t能够
https://docs.djangoproject.com/en/1.8/ref/contrib/auth/#django.contrib.auth.models.User.set_password