Сохранение обновленного пароля пользователя django

#django #django-users

Вопрос:

У меня есть api обновления пользователей, который должен обновлять данные пользователя. Я использовал set_password() для шифрования пароля, и, судя по моим заявлениям о печати, он, похоже, шифруется нормально. Однако, когда я сохраняю обновленного пользователя, пароль по-прежнему сохраняется в виде обычного текста. Что я здесь упускаю ? печать(пользователь.пароль) дает мне

 pbkdf2_sha256$216000$26YKhuRQ4i4S$HnfbowEjappYtP7nbbMZJXcjLi13sWPpj1EqjEbUutI=
 

Тем не менее, когда я возвращаю пользователя, он сохраняет пароль в виде обычного текста.

 class UserDetail(APIView):

def get_user(self, pk):
    try:
        return User.objects.get(pk=pk)
    except User.DoesNotExist:
        return Response(status=status.HTTP_404_NOT_FOUND)

def put(self, request, pk, format=None):
    user = self.get_user(pk)
    data = request.data
    new_password = data["password"]
    user.set_password(new_password)
    user.save()
    print(user.password)

    serializers = UserSerializer(user, request.data)
    if serializers.is_valid():

        serializers.save()
        return Response(serializers.data)
    else:
        return Response(serializers.errors, status=status.HTTP_400_BAD_REQUEST)
 

Комментарии:

1. Какую ценность вы видите?

2. @bdbd Проверьте изменения

3. На самом деле этого и следовало ожидать. Вы можете посмотреть здесь для получения дополнительной информации о том, что означает эта строка

4. Итак, есть ли способ сохранить его в виде хэша вместо обычного текста ?