django hash password when create user from shell
我正在使用此示例创建自定义用户模型。我想通过Django shell进行测试。
当我使用MyUser.objects.create(email='[email protected]', data_of_birth=datetime.date.today(), password='somepassword')从django shell创建用户时,密码不会被散列,而是以纯文本形式存储在数据库中。
但是,如果我通过django管理门户网站创建用户,则会将其存储为哈希值。
我需要怎么做才能使它甚至通过Shell也存储为哈希?我需要实现自己的某些功能吗?
Django版本1.7.3
- staff = Staff()staff.username =用户名staff.set_password(password)这里staff是USER的继承模型,当用户输入密码时,只需将set_password赋予django即可自动转换为hasble pwd
使用User.set_password():
1 2 3
| user = MyUser (email='[email protected]'), ... )
user. set_password('somepassword')
user. save() |
1 2 3 4
| staff = Staff()
staff.username = username
staff.set_password(password)
staff.save() |
此处staff是从USER继承的模型,当用户输入密码时,您只需提供给set_password,django会自动转换为hasble pwd