블로그에 카테고리 기능을 추가하는 중에 아래와 같은 버그가 발생했다.
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 함수를 재정의하여 카테고리 기능을 오버라이드 시키려고 한다.