لقد كنت قلقًا جدًا بشأن كيفية إنشاء جدول في مدونتي الشخصية وإضافة وظائف الجدول التي ستسمح لي بالوصول بسرعة إلى أي بيانات معينة. في حالة ما إذا كانت البيانات الموجودة في الجداول كبيرة جدًا، كانت إضافة ترقيم الصفحات ضرورية للغاية. كما أن تحميل البيانات في الجدول بأكبر قدر ممكن من الكفاءة من شأنه أن يساعد في تحسين تجربة العمل مع تطبيق مدونتي.
من السهل جدًا إنشاء جدول في دورق. كل ما عليك فعله هو تحديد بنية الجدول وعرض جميع المستخدمين في الجدول.
الجدول الأساسي هو جدول يعرض جميع البيانات الموجودة في قاعدة البيانات، تمامًا مثل جدول التمهيد. أسميها أساسية بمعنى أنها جيدة جدًا لأغراض عرض البيانات القصيرة. ومع ذلك، فإن عرض البيانات الكبيرة ليس فعالاً للغاية.
أكبر عيب في الجدول الأساسي، الذي يعرض ببساطة جميع بيانات المستخدم في قاعدة البيانات الخاصة بنا، هو أنه لبضع ثوان عند تحميل الصفحة، سيعرض هذا الجدول الجدول بأكمله قبل بدء ترقيم الصفحات. في حالة أن البيانات كبيرة جدًا كبيرة، سيتعين على المستخدم الانتظار بصبر حتى يقوم المسار "بعمله" قبل عرض الجدول النهائي الفعلي.
يساعد استخدام Ajax في حل المشكلة التي يواجهها الجدول الأساسي. هنا، يتم تحميل الجدول فارغًا لأول مرة عند تقديم طلب الوصول إلى جدول ajax. يتم استخدام نقطة النهاية الثانية لعرض البيانات في الجدول. ومع ذلك، لا تزال هناك مشكلة بسيطة في هذا الجدول. إذا كانت البيانات كبيرة جدًا، فسيكون الجدول فارغًا لبضع ثوانٍ قبل عرض البيانات الفعلية. وذلك لأنه يجب تحميل الجدول بأكمله أولاً، وقد يستغرق ذلك بعض الوقت حسب حجم البيانات.
مع الجدول من جانب الخادم، يتم تنفيذ جميع الميزات مثل ترحيل الصفحات والبحث والفرز على جانب الخادم. هذه طريقة فعالة جدًا لعرض البيانات الكبيرة. عند إجراء طلب لجدول جانب الخادم المرقّم، سيتم عرض البيانات الموجودة في صفحة معينة فقط. إذا انتقل المستخدم إلى صفحة أخرى، فسيتم تقديم طلب جديد للبيانات الموجودة في الصفحة التالية. على هذا النحو، يتم تحميل وعرض البيانات المطلوبة فقط. إنه حل أفضل ولكنه أكثر تعقيدًا في التنفيذ. يجب نقل ميزات مثل البحث والفرز من جانب العميل إلى جانب الخادم.
ملاحظة: إذا قمت باختبار التطبيق على خادم Heroku، فقد تجد "خطأ غير متوقع". وذلك لأن Heroku يوفر كمية محدودة لتخزين قاعدة البيانات. يقوم التطبيق حاليًا بإنشاء مئات المستخدمين تلقائيًا، والذين، بحلول وقت وصولك إلى التطبيق، ربما يكون Heroku قد قام بتعطيل قاعدة البيانات الخاصة به لتجاوز حد التخزين في إصدار الطبقة المجانية.
إذا كنت مهتمًا باختبار التطبيق، يمكنك استخدام الأوامر التالية لتشغيل التطبيق:
استنساخ هذا المستودع:
$ git clone [email protected]:GitauHarrison/beautiful-flask-tables.git
تغيير الدليل للوصول إلى التطبيق:
$ cd beautiful-flask-tables
إنشاء وتفعيل البيئة الافتراضية:
$ mkvirtualenv flask-tables
تثبيت التبعيات:
$ pip3 install -r requirements.txt
تشغيل التطبيق:
$ flask run
افتح التطبيق في متصفحك الذي يعمل على المنفذ المحلي 5000:
لقد أصبح استخدام JQuery قديمًا حاليًا. وهذا يجعل DataTables.js قديمًا لأنه يعتمد على JQuery. تحقق من الإصدار المحدث من هذا المشروع هنا حيث أعرض كيفية العمل مع Grid.js.