Menu
CoddyTech

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").

challenge icon

챌린지

쉬움

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 플레이그라운드