TemplateView
Coddy Django 여정의 클래스 기반 뷰 섹션에 포함된 레슨. 18개 중 2번째.
구인 게시판에는 템플릿만 렌더링하는 소개 페이지가 필요합니다. Django에는 이를 위한 클래스인 TemplateView가 있습니다. 이 클래스의 get()은 이미 작성되어 있습니다. template_name에 지정된 템플릿을 렌더링합니다. 한 레시피 사이트는 FAQ를 recipes/templates/recipes/pages/faq.html에 저장합니다.
from django.views.generic import TemplateView
class FaqView(TemplateView):
template_name = "recipes/pages/faq.html"이것이 뷰의 전부입니다. 클래스 속성을 설정해 제네릭 뷰를 구성하면, Django가 작성한 코드가 해당 속성들을 읽습니다.
template_name은 render()에 전달할 이름입니다. templates/ 뒤에 오는 파일 경로입니다. 폴더를 하나라도 빼먹으면 페이지에서 TemplateDoesNotExist 오류가 발생합니다. 경로는 다른 클래스 기반 뷰와 같습니다. path("faq/", views.FaqView.as_view(), name="faq").
챌린지
쉬움jobs/templates/jobs/about.html 템플릿이 준비되었습니다. /about/에서 표시하세요:
jobs/views.py에 이를 렌더링하는TemplateView인AboutView를 추가합니다.jobs/urls.py에about이라는 이름의"about/"경로를 추가합니다.
실행을 누르고 /about/을 여세요. 다음 문구가 표시됩니다: Job Board lists jobs at small tech companies in Berlin, Lisbon and London.
직접 해보기
from django.shortcuts import render
from django.views import View
from .models import Job
class HomeView(View):
def get(self, request):
count = Job.objects.count()
return render(request, "jobs/home.html", {"count": count})
클래스 기반 뷰의 모든 레슨
직접 연습해 보세요: Django 플레이그라운드