Menu
CoddyTech

TemplateView

חלק מהיחידה תצוגות מבוססות מחלקות במסלול ה-Django של Coddy. שיעור 2 מתוך 18.

לוח המשרות זקוק לדף „אודות” שמציג תבנית בלבד. ל-Django יש מחלקה לכך, TemplateView. המתודה get() שלה כבר כתובה: היא מציגה את התבנית ששמה מצוין ב-template_name. אתר מתכונים שומר את השאלות הנפוצות שלו בקובץ recipes/templates/recipes/pages/faq.html:

from django.views.generic import TemplateView


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

זו כל התצוגה. Django מכנה את מחלקות התצוגה המוכנות שלו תצוגות גנריות. מגדירים אחת באמצעות מאפייני מחלקה כגון template_name, והקוד ש-Django כתב קורא אותם.

template_name הוא השם שהיית מעביר ל-render(): הנתיב לקובץ אחרי templates/. אם משמיטים תיקייה, הדף נכשל עם TemplateDoesNotExist. הנתיב מוגדר כמו בכל תצוגה מבוססת מחלקה: path("faq/", views.FaqView.as_view(), name="faq").

challenge icon

אתגר

קל

הציגו את התבנית המוכנה jobs/templates/jobs/about.html בכתובת /about/.

  1. ב־jobs/views.py, הוסיפו את AboutView, מחלקה מסוג TemplateView שמציגה אותה.
  2. ב־jobs/urls.py, הוסיפו את הנתיב "about/" בשם about.

פתחו את /about/: מופיע הכיתוב Job Board lists jobs at small tech companies in Berlin, Lisbon and London.

נסו בעצמכם

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

כל השיעורים ביחידה תצוגות מבוססות מחלקות

תרגלו בעצמכם: Django אונליין