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

challenge icon

אתגר

קל

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

  • ב־jobs/views.py, מחלקת AboutView, תצוגת TemplateView שמרנדרת אותה.
  • ב־jobs/urls.py, נתיב "about/" בשם about.

לחצו על Run ופתחו את /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 אונליין