تخطَّ إلى المحتوى

🎸 شرح Django

الـ Views الصنفية

الدرس 12 من 25· ⏱ 1 دقائق قراءة

لماذا CBV؟

الـ Views الصنفية الجاهزة تختصر الكود المتكرّر للعمليات الشائعة.

ListView

from django.views.generic import ListView
from .models import Post

class PostListView(ListView):
    model = Post
    template_name = "blog/list.html"
    context_object_name = "posts"

تجلب كل السجلّات تلقائيًّا وتمرّرها للقالب.

DetailView

from django.views.generic import DetailView

class PostDetailView(DetailView):
    model = Post
    template_name = "blog/detail.html"

CreateView و UpdateView و DeleteView

from django.views.generic import CreateView

class PostCreateView(CreateView):
    model = Post
    fields = ["title", "body"]
    success_url = "/blog/"

الربط بالمسار

path("", PostListView.as_view(), name="list")
path("<int:pk>/", PostDetailView.as_view(), name="detail")

CBV مقابل FBV

  • FBV (دالّيّة): أوضح للمنطق المخصّص.
  • CBV (صنفية): أقلّ كودًا للعمليات القياسية (CRUD).

🎯 التالي: المسارات والتوجيه.

هل كان هذا الدرس مفيدًا؟