Issue Report - Django, JavaScript 이미지 없이 게시글, 댓글 작성시 데이터 저장 안됨

김태인·2022년 7월 31일
0

Issue Report, Debug

목록 보기
8/10

상황

  • 프론트엔드에서 formdata를 통해 데이터를 넘겨주고있었는데, 이미지 없이 저장을 시도하면 백엔드 Serializer에서 isvalid를 통과하지 못하고 undefined 뱉고있었다
  • QnAModel과 QnAAnswerModel 모두 image field null=True를 허용해준 상태이기에 빈값이라도 통과가 될 줄 알았지만 javascript에서는 빈값을 null이 아닌 undefined 를 돌려줘서 빈값을 허용하지 못하고 있었다

시도

  • try catch문으로 이미지를 받앗을때와 받지 않았을때의 시나리오로 빈 값을 넘겨주려 시도했으나, null이라는 값 자체가 존재했기때문에 try 를 통과해버림으로써 조건이 성립하지 않게 되었다

해결

  • 빈값 자체를 null로 저장하는 javascript의 특성을 이용하여 if문을 통해 들어오는 값이 null이면 else문을 탈 수 있도록 분기처리를 해줌으로써 해결했다
if (details.image != null){
        document.getElementById("image").setAttribute("src", `https://s3.ap-northeast-2.amazonaws.com/gomunity.shop${details.image}`);
    } else {
        document.getElementById("image").setAttribute("src", `https://s3.ap-northeast-2.amazonaws.com/gomunity.shop/media/%EA%B0%90%EC%9E%90%EC%A0%84.jpg`)
    }
profile
코딩이 취미가 되는 그날까지

0개의 댓글