작성
·
176
답변 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) 상태코드가 뜨는 것이 보다 적절합니다.