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)