Menu
CoddyTech

TemplateView

Termasuk bagian View Berbasis Class dalam perjalanan Django di Coddy. Pelajaran 2 dari 18.

Papan lowongan kerja memerlukan halaman Tentang yang hanya merender sebuah templat. Django memiliki class untuk itu, TemplateView. get()-nya sudah ditulis: metode ini merender templat yang namanya tercantum di template_name. Situs resep menyimpan FAQ-nya di recipes/templates/recipes/pages/faq.html:

from django.views.generic import TemplateView


class FaqView(TemplateView):
    template_name = "recipes/pages/faq.html"

Itulah seluruh view-nya. Django menyebut class view siap pakainya generic views. Kamu menyiapkannya dengan atribut class seperti template_name, lalu kode yang ditulis Django membacanya.

template_name adalah nama yang akan kamu berikan ke render(): path file setelah templates/. Jika ada folder yang tidak disertakan, halaman akan gagal dengan TemplateDoesNotExist. Rutenya sama seperti view berbasis class lainnya: path("faq/", views.FaqView.as_view(), name="faq").

challenge icon

Tantangan

Mudah

Tampilkan template siap pakai jobs/templates/jobs/about.html di /about/.

  1. Di jobs/views.py, tambahkan AboutView, sebuah TemplateView yang menampilkannya.
  2. Di jobs/urls.py, tambahkan rute "about/" bernama about.

Buka /about/: tertulis Job Board lists jobs at small tech companies in Berlin, Lisbon and London.

Coba sendiri

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})

Semua pelajaran di View Berbasis Class

Latihan sendiri: Playground Django