Python set_password()方法正在保存纯文本
当我从视图中保存用户并编写代码时,它将密码保存为纯文本,但当我在shell中使用相同的set_password()方法时,它完美地保存了散列密码。请指出我犯的错误。实际上,我是直接从excel表格中保存数据的Python set_password()方法正在保存纯文本,python,django,django-models,django-views,Python,Django,Django Models,Django Views,当我从视图中保存用户并编写代码时,它将密码保存为纯文本,但当我在shell中使用相同的set_password()方法时,它完美地保存了散列密码。请指出我犯的错误。实际上,我是直接从excel表格中保存数据的 username="username" password="password" firstName="first" lastName="lastname" user=User.objects.create( firstName = firstName,
username="username"
password="password"
firstName="first"
lastName="lastname"
user=User.objects.create(
firstName = firstName,
lastName = lastName,
username = username,
)
user.set_password(password)
user.is_student = True
user.school = request.user.school
user.save()
user_ins = User.objects.get(username=username)
更改如下
user = User.objects.create_user(username=username, password=password, first_name=first_name, last_name=last_name)
set_password只创建散列密码;它不会将值保存在数据中。调用save()以实际保存它 在您的代码中,尝试
user.save()
线下
user.set_password(user.password)