클래스형 뷰로 정의
1.인덱스 페이지
인덱스 페이지는 TemplateView 를 상속해서 구현하면 편하다
오버라이딩이기 때문에 template_name 변수를 지정해야한다.
템플릿 시스템으로 넘겨줄 컨텍스트 변수가 있으면 def get_context_data() 재정의 한다.
변수는 context= super().get_context_data() 재정의 이때 super() 꼭 쓰자
return도 필수이다.
2.리스트뷰 페이지
ListView를 상속받는다.
model 필드만 재정의하면 된다.
디폴트 속성이 있는데 컨텍스트 변수로 object_list를 사용하고
템플릿 파일을 소문자모델명_list.html 로 사용한다.
예시
class BookList(ListView):
model = Book
#Book에 있는 테이블을 가져와 object_list 라는 컨텍스트 변수 구성,
#템플릿 파일 어플리케이션명/book_list.html
3.디테일뷰 페이지
디폴트 속성, 컨텍스트 변수명 object
템플릿 파일 소문자모델명_detail.html