bestwish
Hong's Tistory
bestwish
전체 방문자
오늘
어제
  • 분류 전체보기 (32)
    • DevOps (21)
      • Django (15)
      • TIL (2)
      • Python (2)
      • Git (0)
      • Docker (1)
      • Infra (1)
    • Algorithm (3)
      • 백준문제 (3)
      • 이론 (0)
    • CS (6)
      • Data Structure (6)

인기 글

최근 글

hELLO · Designed By 정상우.
bestwish
DevOps/Django

[Django] HTTP 상태코드 응답

DevOps/Django

[Django] HTTP 상태코드 응답

2022. 5. 24. 16:12

대표적인 상태 코드

코드 설명
200번대 성공
200 서버가 요청을 잘 처리했다.
201 작성완료. 서버가 요청을 접수하고, 새 리소스를 작성했다.
300번대 추가 조치가 필요하다.
301 영구 이동, 요청한 페이지가 새 위치로 영구적으로 이동했다.
302 임시 이동, 페이지가 현재 다른 위치에서 요청에 응답하고 있지만, 요청자는 향후 원래 위치를 계속 사용해야한다.
400번대 클라이언트 오류
400 잘못된 요청
401 권한없음
403 (Forbidden) 권한을 갖고 있지않아서 요청이 거부됨
404 서버에서 요청한 리소스를 찾을 수 없음
405 허용되지 않는 방법. POST 방식만을 지원하는 뷰에 GET 요청을 한 경우
500번대 서버 오류
500 서버 내부 오류 발생

200 응답 예

from django.http import HttpResponse, JsonResponse
from django.shortcuts import render
def view1(request):
return HttpResponse('Hello') # 200
def view2(request):
return render(request, 'template.html') # 200
def view3(request):
return JsonResponse({'hello': 'world'}) # 200

302 응답 예

from django.http import HttpResponseRedirect
from django.shorcuts import redirect, resolve_url
def view1(request):
return HttpResponseRedirect('/shop/')
def view2(request):
url = resolve_url('shop:item_list')
return HttpResponseRedirect(url)
# 이 방법을 사용하는 것을 추천한다.
def view3(request):
return redirect('shop:item_list')

404 응답 예

from django.http import Http404, HttpResponseNotFound
from django.shortcuts import get_object_or_404
from shop.models import Item
def view1(request):
try:
item = Item.objects.get(pk=100)
except Item.DoesNotExist:
raise Http404
...
def view2(request):
item = get_object_or_404(Item, pk=100) # 내부에서 raise Http404
...
# 잘 사용하지 않는 방법
def view3(request):
try:
item = Item.objets.get(pk=100)
except Item.DoesNotExist:
return HttpResponseNotFound()
...

다양한 HttpResponse 서브 클래스

코드 설명
HttpResponseRedirect 상태코드 302
HttpResponsePermanentRedirect 상태코드 301(영구 이동)
HttpResponseNotModified 상태코드 304
HttpResponseBadRequest 상태코드 400
HttpResponseNotFound 상태코드 404
HttpResponseForbidden 상태코드 403
HttpResponseNotAllowed 상태코드 405
HttpResponseResponseGone 상태코드 410
HttpResponseServerError 상태코드 500

'DevOps > Django' 카테고리의 다른 글

[Django] 프로젝트 세팅 ( + React )  (0) 2022.12.16
[Django] SENDGRID를 이용한 메일 보내기.  (0) 2022.11.10
[Django] ForeignKey  (0) 2022.05.17
[Django] django-debug-toolbar 사용하기  (0) 2022.05.16
[Django] django extensions shell_plus 사용하기  (0) 2022.05.16
  • 대표적인 상태 코드
  • 200 응답 예
  • 302 응답 예
  • 404 응답 예
  • 다양한 HttpResponse 서브 클래스
'DevOps/Django' 카테고리의 다른 글
  • [Django] 프로젝트 세팅 ( + React )
  • [Django] SENDGRID를 이용한 메일 보내기.
  • [Django] ForeignKey
  • [Django] django-debug-toolbar 사용하기
bestwish
bestwish

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.