【问题标题】:django hash password when create user from shell从shell创建用户时的django哈希密码
【发布时间】: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就会自动转换成哈希密码

标签: python django hash


【解决方案1】:

使用User.set_password():

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

【讨论】:

    【解决方案2】:
    staff = Staff()
    staff.username = username
    staff.set_password(password)
    staff.save()
    

    这里的人员是继承自 USER 的模型,当用户输入密码时,你只需给 set_password ,django 会自动转换为哈希密码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多