Menu
CoddyTech

TemplateView

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

Papan lowongan kerja membutuhkan halaman Tentang yang hanya merender template. Django memiliki class untuk itu, TemplateView. Method get()-nya sudah ditulis: method itu merender template 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. Kamu mengonfigurasi view generik dengan menetapkan atribut class, lalu kode yang ditulis Django akan membacanya.

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

challenge icon

Tantangan

Mudah

Template jobs/templates/jobs/about.html sudah siap. Tampilkan di /about/:

  • Di jobs/views.py, buat AboutView, sebuah TemplateView yang merendernya.
  • Di jobs/urls.py, tambahkan rute "about/" bernama about.

Tekan Run dan buka /about/: halaman itu menampilkan 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