[장고] 함수 오버라이딩

이정연·2022년 9월 21일
0

Django

목록 보기
5/12

블로그에 카테고리 기능을 추가하는 중에 아래와 같은 버그가 발생했다.

programming이라는 카테고리와 들어있는 포스트 개수를 찾지 못 한다는 뜻이다.

이를 해결하기 위해서는 장고에서 View가 어떻게 작동하는지 알아야 한다.

우리는 포스트를 나열하기 위하여 ListView와 DetailView를 상속받아 사용했다.

이 클래스는 기본적으로 get_context_data라는 메소드를 내장하고 있다.

따라서 model = Post라고 선언만 하면 get_context_data에서 자동적으로 post_list = Post.objects.all()을 명령한다.

덕분에 우리는 post_list.html에서 편하게 for문을 활용할 수 있었다.

{% for p in post_list %} 와 같이

하지만 카테고리는 내가 추가적으로 구현한 부분이기에 이를 get_context_data가 불러올 수 있도록 처리하려면 약간의 함수 수정을 거쳐야 한다.

따라서 get_context_data 함수를 재정의하여 카테고리 기능을 오버라이드 시키려고 한다.

profile
0x68656C6C6F21

0개의 댓글