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").
Tantangan
MudahTemplate jobs/templates/jobs/about.html sudah siap. Tampilkan di /about/:
- Di
jobs/views.py, buatAboutView, sebuahTemplateViewyang merendernya. - Di
jobs/urls.py, tambahkan rute"about/"bernamaabout.
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
2Tampilan Generik untuk Menampilkan Data
ListViewDetailViewLatihan sendiri: Playground Django