<Dear>
프로젝트에서 기존에 작성된 뷰는 게시글을 불러올 때Post 모델
에서id
가post_id
와 일치하는 게시글을 불러왔다.
그러나
post_id
와 일치하는 게시글이 없는 경우에러 페이지
를 렌더했다.
이 경우 유저는 잘못된 접근인지, 서버 오류인지를 구분하기가 어려웠다.
따라서 모델의 데이터를 불러오고, 해당 데이터가 없는 경우에는
404 에러
를 불러오는get_object_or_404
를 알아본다.
우선 장고 숏컷 모듈에서 해당 함수를 불러온다.
from django.shortcuts import get_object_or_404
이후 기존에 사용했던 Post.objects.get(id = post_id)를 변경한다. 그리고
변수 post
에 지정한다.
파라미터
에는참조할 모델 클래스
(Post)와조건
(id=post_id)을인자
로 넘겨준다.
post = get_object_or_404(Post, id = post_id)
이 경우
post_id
와 일치하는id
를 가진 데이터를Post 모델
에서 찾아보고
해당 데이터가 있다면
변수 post
에 지정하지만
해당 데이터가 없다면
404 에러
를 불러온다.