【发布时间】:2015-03-22 11:01:02
【问题描述】:
我正在使用 this example 创建自定义 User 模型。我想通过 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
【问题讨论】:
-
staff = Staff() staff.username = username staff.set_password(password) 这里的员工是从 USER 继承的模型,当用户输入密码时,你只需给 set_password ,django就会自动转换成哈希密码