При создании нового пользователя в / admin с использованием django rest framework пароль пользователя не шифруется - PullRequest
0 голосов
/ 29 марта 2020

Я построил API, используя Django rest framework. Когда вы заходите на страницу / admin и входите в систему как суперпользователь, у вас есть возможность создавать новые профили пользователей. Однако его создание на вкладке / admin означает, что при создании профиля пользователя используемый пароль не шифруется, как обычно, если он создается на вкладке / API. Что мне нужно добавить, чтобы зашифровать пароль пользователя, даже если он был создан на вкладке / admin? Если мне нужно загрузить какой-либо код или что-нибудь, пожалуйста, дайте мне знать.

user = User(
    email=email, is_staff=False, is_active=True,
    is_superuser=False,
    last_login=now, date_joined=now, **extra_fields
)

#save the password here:
user.set_password(password)
user = self.model(email=email, **extra_fields)
user.save(using=self._db)

return user

1 Ответ

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

Когда вы создаете пользователя, установите пароль этого пользователя с помощью user.set_password(password). set_password(password) принимает пароль как необработанный и сохраняет в таблицу как хешированный. Если вы поделитесь своим кодом, я сообщу, в каком месте вам нужно разместить код.

...