일반적인 경우에 쓰인는 뷰에 대해 패턴을 추상화하여 작성해놓은 클래스 뷰
위의 class 세 개는 각각 Generic Class인 ListView와 DetailView를 상속받고있다.
template_name : template 파일의 위치 나타냄.
context_object_name : 인자로 쓰일 변수 이름.
get_queryset() : select all 을 오버라이드
model : 테이블 선택
DetailView 제너릭 뷰는 URL에서 캡처된 기본 키 값이 "pk"라고 기대하기 때문에 아래와 같이 하면 자동으로 pk를 잡습니다.
또한 ListView 제네릭 뷰는 <app name>/<model name>_list.html 템플릿을 기본으로 사용하기에 이미 있는 "polls/index.html" 템플릿을 사용하기 위해 ListView 에 template_name 를 전달했습니다. DetailView도 _detail.html으로 같습니다.