اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

في Django توجد طريقتان  لتعريف ال Views  الأولى هي function-based views (FBV) أو الدوال و الثانية هي  class-based views (CBV) أو الفئات.

كل من الطريقتين تقومان بتعريف المنطق الذي يحدد كيفية التعامل مع الطلبات (requests) وإرجاع الردود (responses) ولكل منهما مميزات واستخدامات مختلفة.

  •  Function-Based Views (FBV):

هنا نعرف الـ Views باستخدام دالة عادية و هذا الأسلوب أبسط ومباشر ويكون مناسبا للحالات التي يكون فيها منطق العرض بسيط وغير معقد. ويمكن كتابة كود view بسيط باستخدام دالة تقوم بقبول الطلب (request) وتعيد الاستجابة (response).

from django.http import HttpResponse

def my_view(request):
    return HttpResponse('Hello, World!')

ومن مميزات تلك الطريقة هي سهولة القراءة والفهم والبساطة ويمكنك تخصيص المنطق كما تريد دون أي قيود من django .

  • Class-Based Views (CBV):

هنا نعرف الـ Views باستخدام الفئات (classes) و تسمح لنا بإنشاء Views  أكثر تنظيما ومرونة حيث توفر لك django أصنافا جاهزة والتي ستوفر عليك كتابة الكثير من الأكواد مثل DeleteView و UpdateView و CreateView . تسهل استخدام الأكواد دون كتابتها مرات عديدة من خلال الوراثة.

from django.views import View
from django.http import HttpResponse

class MyView(View):
    def get(self, request):
        return HttpResponse("Hello, World!")

ويمكنك إستخدام أي منهما لا مشكلة ولكن يفضل في المشاريع البسيطة أن يتم إستخدام  Function-Based Views (FBV) لأنها بسيطة وأسرع و لا تحكمك بقيود. أما للمشاريع الكبيرة ف Class-Based Views (CBV) هي الأفضل من حيث التنظيم وإعادة إستخدام الأكواد والمميزات التي توفرها لك django والتي ستوفر عليك الكثير من الوقت والجهد.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...