웹사이트에서 개인 정보 수정 관련 부분 구현 중
해당 오류를 만났다.
프로필 사진과 닉네임 같은 정보를 수정한 후
사진은 AWS S3에 업로드하고 URL 주소와 닉네임 정보는
DB에 저장하려고 하는데
postman으로 테스트 시 위와 같이 오류가 발생했다.
이미지 업로드를 하지 않고 보통은 키값만 넘길 때
raw에 json으로 선택해 딕셔너리로 묶어 send를 하곤 했다.
그럼 view에서 json.loads(request.body)로 해당 값을 받아서
필요한 처리를 하곤 했는데
이미지를 받아올 땐 raw 말고 form-data를 써야 하고
이미지는 json으로 보내는 것이 아니기 때문에
json.loads를 사용해 넘어오는 값을 받으면 위 오류가 발생하는 것이다.
이와 같은 경우
data = json.loads(request.body)
data['nickname']
이렇게 사용하지 않고
request.POST['nickname']
이런 식으로 바로 request 값을 직접 적어서 사용하면 된다.