Menu
CoddyTech

TemplateView

Część sekcji Widoki oparte na klasach ścieżki Django w Coddy. Lekcja 2 z 18.

Tablica ogłoszeń potrzebuje strony „O nas”, która jedynie renderuje szablon. Django ma do tego klasę: TemplateView. Jej metoda get() jest już napisana: renderuje szablon wskazany w template_name. Witryna z przepisami przechowuje stronę z najczęściej zadawanymi pytaniami w pliku recipes/templates/recipes/pages/faq.html:

from django.views.generic import TemplateView


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

To cały widok. Konfigurujesz widok ogólny, ustawiając atrybuty klasy, a kod napisany w Django odczytuje ich wartości.

template_name to nazwa, którą przekazujesz do render(): ścieżka do pliku po templates/. Jeśli pominiesz folder, strona zwróci błąd TemplateDoesNotExist. Trasa wygląda jak w przypadku każdego widoku opartego na klasie: path("faq/", views.FaqView.as_view(), name="faq").

challenge icon

Wyzwanie

Łatwy

Szablon jobs/templates/jobs/about.html jest gotowy. Wyświetl go pod adresem /about/:

  • W pliku jobs/views.py utwórz AboutView, widok TemplateView, który go renderuje.
  • W pliku jobs/urls.py dodaj trasę "about/" o nazwie about.

Naciśnij Run i otwórz /about/: wyświetli się tekst Job Board lists jobs at small tech companies in Berlin, Lisbon and London.

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Widoki oparte na klasach

Poćwicz samodzielnie: Edytor online Django