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").
التحدي
سهلالقالب 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