Django/Http 404 error 발생시키기
Documents/개발 노트 2020. 8. 7. 17:55 |개발 환경
OS : macOS Catalina
python ver : 3.7.8
django ver : 3.0.8
Terminal env.
view.py 템플릿에서 get_object_or_404를 import 합니다.
from django.shortcurs import render, get_object_or_404
from django.views.generic import View
from .models import Models
class Home(View):
# ...
det get(self, request, *args, **kwargs):
id = kwargs['slug']
categories = get_object_or_404(Models, pk = id)
context = {'categories': categories}
return render(request, 'app/content1/html', context)
데이터베이스에서 request한 정보가 없을시 404에러를 return하는 라이브러리입니다.
다른방법으로는
from django.http import Http404 # Http404를 import
from django.shortcuts import render
from .models import Question
# ...
def home(request, question_id):
try:
question = Question.objects.get(pk=question_id)
#check if question_id that user sends is valid
except Question.DoesNotExist: # if not, send DoesNotExist
raise Http404("Question does not exist")
#what specific message to show
return render(request, 'app/detail.html', {'question': question})
# write out the dictionary (variable is fine too)
try except 문을 이용하여 직접 404에러를 발생시킵니다.
이런 메서드는 if문이나 데이터베이스 문제가 아닌 다양한 에러에 대해서 적용 가능합니다.
'Documents > 개발 노트' 카테고리의 다른 글
Ubuntu/nvidia-docker 설치 (0) | 2020.08.31 |
---|---|
Ubuntu/Nvidia version 확인 (2) | 2020.08.31 |
Ubuntu/Docker 설치 (0) | 2020.08.25 |
Linux/SSH/MobaXterm 접속하기 (0) | 2020.08.25 |
Django/static files 경로 작성하기 (0) | 2020.07.13 |