python/Django

[Django] 6-1. 404는 어떻게 대처할까

끼발자 2021. 12. 22. 14:21
반응형

우리도 가끔 보는 404에러

 

존재하지 않는 페이지에 접속하면 저 화면을 볼 수 있다.

 

만약 question_id에 312398등의 존재하지 않는 값을 넣어서 전달하면 404에러가 나타난다.

 

우리는 이 404를 좀 더 프로페셔널하게 다뤄보자.

 

#pybo/views.py
from django.shortcuts import render, get_object_or_404 # 404일 경우
from django.http import HttpResponse # http의 응답
from .models import Question
from django.utils import timezone
# Create your views here.
# 응답 꾸러미들

...

def detail(request,question_id):
    '''
    pybo 내용 출력
    '''    
    question = get_object_or_404(Question,pk=question_id)
    context = {'question':question}
    return render(request,'pybo/question_detail.html',context)
    
...

get_object_or_404를 import해주고, Question과, pk=question_id를 인자로 넣어주고 question에 할당해준다.

 

pk에 해당하는 값이 Question에 없으면 404를 보내준다.

 

 

반응형