我是Django的新手。已经从SQLite迁移到MySQL。用户相关信息存储在auth_user表中。
我有100个用户相关的用户名和密码以纯文本格式显示。我需要将它们插入到auth_user表中。我怎么能这样做?
例如,我使用下面的insert语句手动插入它们。
INSERT INTO `auth_user` (username, `password`, is_superuser )
VALUES ('test', 'test_password', 0)
如果我这样插入它们,我将公开纯文本密码。我想使用Django哈希密码。
答案 0 :(得分:6)
您通过以纯文本格式存储密码让您的用户严重受损,但正如他们迟迟说的要好。
我认为您的用户位于auth_user以外的表中(来自django.contrib.auth)。遍历该表并为每个用户创建User实例。
调用set_password方法生成哈希密码。
将用户的密码设置为给定的原始字符串,并处理 密码哈希。不保存用户对象。
当raw_password为None时,密码将设置为不可用 密码,好像使用了set_unusable_password()。