[Django] 장고 제네릭 템플릿뷰(Django generic TemplateView)

from django.views import generic

 

 

장고에서 쓰이는 제네릭 뷰 중 TemplateView 에 대해 알아보자.

CBV형식으로 views 파일을 작성할 경우 다양한 제네릭 뷰에 대한 사용법을 알고 있어야한다.

  • 코드를 가능한 간결하게 작성할 수 있다.
  • 코드의 재사용률을 높일 수 있다.

​에러 핸들링 에는 FBV를 사용한다.

템플릿 뷰는 다음과 같이 상속하여 사용할 수 있다.

 

views.py

 
class IndexView(generic.TemplateView):
	template_name = "plagiarism/index.html"

urls.py

from django.urls import path

from myapp.views import IndexView

urlpatterns = [
    path('', IndexView.as_view(), name='index'),
]

url을 통해 다음 클래스가 호출 된다면, settings 에 설정되어 있는 기본 template 경로에 template_name 경로를 추가하여 해당하는 html 파일을 response로 보내게 된다.

 

TemplateView는 세가지 클래스를 상속 받는다.

  1. TemplateResponseMixin
  2. ContextMixin
  3. View

 

참고

https://wikidocs.net/9623

https://docs.djangoproject.com/ko/4.0/ref/class-based-views/base/