Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python set_password()方法正在保存纯文本_Python_Django_Django Models_Django Views - Fatal编程技术网

Python set_password()方法正在保存纯文本

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,

当我从视图中保存用户并编写代码时,它将密码保存为纯文本,但当我在shell中使用相同的set_password()方法时,它完美地保存了散列密码。请指出我犯的错误。实际上,我是直接从excel表格中保存数据的

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)