从shell创建用户时的django哈希密码

时间:2015-01-23 11:53:55

标签: python django hash

我正在使用this example 创建自定义用户模型。我想通过django shell测试一下。

当我使用MyUser.objects.create(email='some@example.com', data_of_birth=datetime.date.today(), password='somepassword')从django shell创建用户时,密码不会被散列并以明文形式存储在数据库中。

但是如果我通过django管理门户创建用户,它将被存储为哈希。

我需要做什么才能通过shell将其存储为哈希?我是否需要实现自己的一些功能?

Django版本1.7.3

2 个答案:

答案 0 :(得分:5)

使用User.set_password()

user = MyUser(email='some@example.com'), ...)
user.set_password('somepassword')
user.save()

答案 1 :(得分:0)

staff = Staff()
staff.username = username
staff.set_password(password)
staff.save()

这里的工作人员是从USER继承的模型,当用户输入密码时你只需要给set_password,django自动转换为hasble pwd