【问题标题】:Superuser dumpdata/loaddata in DjangoDjango 中的超级用户转储数据/加载数据
【发布时间】:2021-02-16 19:09:23
【问题描述】:

我在如何将加密的密码数据转储到 django 中的 authuser 表时遇到问题,目前我正在使用 python manage.py loaddata fixtures.json 将数据转储到数据库中它工作正常但密码未加密,我该如何加密它在使用 loaddata 时?有没有高手可以分享一下这个问题的解决方案或想法,不胜感激!

   [{"model":"auth.user",
    "pk" : 2,
    "fields" : {"password" : "superadmin",
    "is_superuser" : "1",
    "username" : "superadmin",
    "first_name" : "name" ,
    "last_name" : "lname" ,
    "email" : "a@gmail.com" ,
    "is_staff" : "1",
    "is_active" : "1"
   }]

【问题讨论】:

  • 转储数据总是加密密码。您可能需要仔细查看您的代码
  • @ANFASPV 感谢您的回复,起初这是我的预期,当我使用python manage.py createsuperuser 创建超级用户时,它可以很好地加密密码但是当我使用上面的代码时它没有加密"fields" : {"password" : "superadmin"
  • @ANFASPV 你知道我将如何加密密码吗?

标签: python django loaddata


【解决方案1】:

Django 不会将原始密码存储在数据库中。它只是将加密的存储在名为password 的列中。当您以这种方式为用户创建密码时,您将使用原始数据填充此列。 “superadmin”是加密后的密码。

尝试使用它登录,你发现它不起作用,因为“superadmin”不是密码,它只是他们的加密值。

有几种选择,虽然老实说我不喜欢其中任何一种:https://stackoverflow.com/a/34322435/10712525

【讨论】:

    猜你喜欢
    • 2022-11-13
    • 1970-01-01
    • 1970-01-01
    • 2014-11-16
    • 2011-12-07
    • 1970-01-01
    • 1970-01-01
    • 2018-05-06
    • 2011-11-07
    相关资源
    最近更新 更多