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.

اضغط على «تشغيل» وافتح /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})

جميع دروس واجهات العرض المعتمدة على الأصناف

تدرّب بنفسك: Playground لـ Django