인프런 커뮤니티 질문&답변

Cooper Ben님의 프로필 이미지
Cooper Ben

작성한 질문수

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

강의를 보며

작성

·

176

0

강사님 강의를 보며 제가 다른 웹사이트를 커스텀해서 사용하고자 공부중에 있습니다 ㅎㅎ

 

근데 저도 아무리 찾아봐도 해결되지 않는 문제점이 있어 여기다 이렇게 질문을 드립니다.

 

우선 관련있을 코드는 붙여드리겠습니다 ㅠㅠ ...

 

제가 생각하기로는 DB정보에서 값을 불러오지 못해서 발생하는 문제라 생각합니다.

DB는 postgresSQL연동해서 사용중입니다!

 

문제점이 무엇일까요...

 

 

 

 

구분

구분

 

답변 1

0

이진석님의 프로필 이미지
이진석
지식공유자

안녕하세요.

에러 화면의 DoesNotExist 예외는 쿼리셋에서 .get 호출 시에 지정 조건의 Rows가 DB에서 조회되지 않을 때 발생하는 예외입니다. 뷰에서 예외가 발생했으므로 서버의 상태코드는 500이 뜹니다.

구현하신 ajax_find_id_view 뷰에서 아래의 코드가 있는 데요.

result_id = User.objects.get(username=username, email=email)

지정하신 username/email 의 User가 DB에 없기 때문입니다. DB에 이 username/email 의 데이터가 있다면 정상 동작할 것이구요.

그리고 참고로 뷰에서는 .get 을 통해 접근하시기보다

django.shortcuts.get_object_or_404를 활용하시면

데이터가 없을 때 500 상태코드가 뜨지 않고 404 상태코드가 뜹니다.

지정 조건의 데이터가 없는 경우는 404 (page not found) 상태코드가 뜨는 것이 보다 적절합니다.

Cooper Ben님의 프로필 이미지
Cooper Ben

작성한 질문수

질문하기