Menu
CoddyTech

TemplateView

Coddy'nin Django Journey'sinin Sınıf Tabanlı Görünümler bölümünün bir parçası. Ders 2 / 18.

İş ilanı panosunun yalnızca bir şablon görüntüleyen Hakkında sayfasına ihtiyacı var. Django'nun bunun için bir sınıfı var: TemplateView. get() yöntemi zaten yazılmıştır: template_name içinde belirtilen şablonu görüntüler. Bir tarif sitesi SSS bölümünü recipes/templates/recipes/pages/faq.html dosyasında tutar:

from django.views.generic import TemplateView


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

Görünümün tamamı bundan ibaret. Django, önceden hazırlanmış görünüm sınıflarına genel görünümler der. Bunları template_name gibi sınıf öznitelikleriyle ayarlarsın; Django'nun yazdığı kod da bu değerleri okur.

template_name, render() işlevine aktaracağın addır: templates/ sonrasındaki dosya yolu. Bir klasörü atlarsan sayfa TemplateDoesNotExist hatası verir. Rota, sınıf tabanlı diğer görünümlerdeki gibidir: path("faq/", views.FaqView.as_view(), name="faq").

challenge icon

Görev

Kolay

jobs/templates/jobs/about.html adresinde bulunan hazır şablonu /about/ adresinde göster.

  1. jobs/views.py dosyasına, şablonu görüntüleyen bir TemplateView olan AboutView ekle.
  2. jobs/urls.py dosyasına, about adlı "about/" yolunu ekle.

/about/ adresini aç: Job Board lists jobs at small tech companies in Berlin, Lisbon and London. yazıyor.

Kendin dene

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

Sınıf Tabanlı Görünümler bölümündeki tüm dersler

Kendi başına pratik yap: Django playground