Ayham Rabea نشر 10 أكتوبر أرسل تقرير نشر 10 أكتوبر في مشاريع djamgo ما الفرق بين class based views and def وكيف نعرف ماذا نختار لمشاريعنا ؟ 1 اقتباس
0 محمد عاطف17 نشر 10 أكتوبر أرسل تقرير نشر 10 أكتوبر في 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 والتي ستوفر عليك الكثير من الوقت والجهد. 1 اقتباس
السؤال
Ayham Rabea
في مشاريع djamgo ما الفرق بين class based views and def وكيف نعرف ماذا نختار لمشاريعنا ؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.