Django KeyError: 'password'

Я пытаюсь обновить свой профиль пользователя. Но на строке 'if data['password'] != '':'' выдается KeyError на 'password'. Я так понимаю, что данные, которые я вызвал в request.data, не содержат 'password', что не имеет никакого смысла. Пожалуйста, помогите мне, кто-нибудь.

@api_view(['PUT'])
@permission_classes([IsAuthenticated])
def updateUserProfile(request):
    user = request.user
    serializer = UserSerializerWithToken(user, many=False)

    data = request.data
    user.first_name = data['name']
    user.username = data['email']
    user.email = data['email']
    if data['password'] != '':
        user.password = make_password(data['password'])

    user.save()

    return Response(serializer.data)

KeyError срабатывает, потому что, скорее всего, он не поступает в ваш запрос, и вы пытаетесь получить доступ к данным, которые не существуют, также более рекомендуется делать это таким образом Пример:

data.get("name",None)

вы можете проверить, путешествуют ли данные в вашем запросе с помощью

print(request.data)
Вернуться на верх