Django Handling HTTP requests

김동완·2022년 4월 13일
0

Django

목록 보기
12/25
post-thumbnail

Handling HTTP requests

Django shortcut functions

  • django.shorcuts 패키지는 개발에 도움될 수 있는 여러 함수와 클래스를 제공

종류

  • render
  • redirect
  • get_object_or_404
  • get_list_or_404
  • get_object_or_404()
    • 모델 manager인 objects에서 get()을 호출하지만, 해당 객체가 없을 경우 DoesNotExist 예외 대신 Http404 raise
    • get()에 경우 조건에 맞는 데이터가 없을 경우에 예외를 발생 시킴
      • 코드 실행단계에서 발생한 예외 및 에러에 대해서 브라우저는 http status code 500으로 인식함
    • 상황에 따라 적절한 예외처리를 하고 클라이언트에게 올바른 에러 상황을 전달하는 것 또한 개발의 중요한 요소 중 하나

HTTP 응답 코드

  • 4로 시작하면 클라이언트 에러 5로 시작하면 서버에러
  • 404에러 : Page Not Found / 서버가 요청받은 리소스를 찾을 수 없다.
  • 403에러 : 클라이언트는 콘텐츠에 접근할 권리를 가지고 있지 않습니다. (CSRF token 넣지 않았을 때)
  • 500에러 : 서버가 처리하는 방법을 모르는 상황이 발생했습니다. 서버는 처리 방법을 알 수 없습니다.
  • 존재하지 않은 객체를 조회할 때 500에러가 발생하는데, get_object_or_404를 이용하면 존재하지 않을 때는 404에러를 담아서 리턴한다.
  • get_list_or_404()는 API로 서버를 운영할때 사용한다.
    • 영화를 조회했는데 영화정보가 없을 때
profile
내가 공부한 내용들이 누군가에게 도움이 될지 몰라서 쓰는 벨로그

0개의 댓글