Метод set_password () сохраняет простой текст - PullRequest
0 голосов
/ 22 марта 2020

Когда я сохраняю пользователя из вида и пишу коды, он сохраняет пароль в виде обычного текста, но когда я использую тот же метод 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)

Ответы [ 2 ]

1 голос
/ 22 марта 2020

изменить следующим образом

 user = User.objects.create_user(username=username, password=password, first_name=first_name, last_name=last_name)
0 голосов
/ 22 марта 2020

set_password создает только хешированный пароль; это не сохраняет значение в данных. Вызовите save () для фактического сохранения.

В своем коде попробуйте

user.save()

ниже строки

user.set_password(user.password)
...