دروس تعليمية حول Django: الميزات، Archiالثقافة والتاريخ

⚡ ملخص ذكي

Django هو برنامج مجاني ومفتوح المصدر Python إطار عمل ويب مبني على نمط نموذج-عرض-قالب، مما يتيح التطوير السريع لمواقع ويب آمنة وقابلة للتوسع وقائمة على قواعد البيانات من خلال مكونات قابلة لإعادة الاستخدام، وواجهة إدارة تلقائية، وتصميم متكامل.

  • 🔘 الإطار: Django هو إطار عمل عالي المستوى Python إطار عمل لبناء تطبيقات ويب معقدة تعتمد على قواعد البيانات بسرعة.
  • ☑️ الهندسة المعمارية: يسمح نمط النموذج-العرض-القالب (MVT) لـ Django بإدارة وحدة التحكم وفصل البيانات والمنطق والعرض.
  • ✅ البطاريات وشملت: تعمل وظائف الإدارة والمصادقة والنماذج والتدويل المدمجة على إزالة معظم أعمال الإعداد المتكررة.
  • 🛠️ الأمن: تمنع إجراءات الحماية الافتراضية هجمات CSRF، وهجمات البرمجة النصية عبر المواقع، وهجمات حقن SQL، وهجمات النقر الخادع.
  • 🧪 مقياس: Instagramتعتمد مواقع Pinterest و Mozilla و Disqus على Django لخدمة حركة مرور عالية جدًا.
  • 🤖 الذكاء الاصطناعي: يقدم Django نماذج التعلم الآلي كواجهات برمجة تطبيقات (APIs)، وتعمل أدوات مساعدة مثل GitHub Copilot على تسريع عملية كتابة التعليمات البرمجية للواجهة الخلفية.

دورة Django للمبتدئين

يُشغّل Django بعضًا من أكبر المواقع على الإنترنت مع الحفاظ علىping تطوير يومي سريع ومنظم. قبل استكشاف ميزاته وهيكله وتاريخه، تبدأ الأقسام التالية بأساسيات أطر عمل الويب وما يميز Django.

ملخص البرنامج التعليمي جانغو

يُغطي هذا الدرس التعليمي لـ Django جميع المواضيع الأساسية من البداية. ستتعلم في هذا الدرس مفاهيم مثل ماهية Django، وتاريخه، وميزاته، وخصائص إطار عمل Django، ومكوناته، ومزاياه وعيوبه، وغير ذلك الكثير.

قبل تعلم Django، دعونا نفهم ما يلي:

ما هو إطار عمل الويب؟

إطار عمل الويب هو مكتبة برمجية تساعدك على بناء موقع ويب أو تطبيق ويب أو خدمة ويب ديناميكية مرنة وقابلة للتوسع والصيانة. ومن بين أطر عمل الويب المختلفة Zend for PHP، Ruby on Rails للغة روبي، وغيرها.

ما هو Django؟

Django هو إطار عمل لتطوير الويب لـ Python يوفر هذا الإطار البرمجي المتقدم أساليب قياسية لتطوير مواقع الويب بسرعة وكفاءة. يهدف بشكل أساسي إلى إنشاء مواقع ويب معقدة تعتمد على قواعد البيانات، مما يساعدك على بناء تطبيقات ويب عالية الجودة وصيانتها. كما يُمكّنك من جعل عملية التطوير سلسة وموفرة للوقت، وبالتالي تسريع عملية التطوير.

لماذا جانجو؟ المزايا الرئيسية لجانغو

فيما يلي المزايا الرئيسية لجانغو:

  • يُعدّ Django سهل الإعداد والتشغيل، ويُقدّم مجموعة متنوعة من الخيارات للبدء.
  • يوفر واجهة مستخدم جاهزة للاستخدام للأنشطة الإدارية.
  • فهو يُمكّن المواقع الإلكترونية متعددة اللغات باستخدام نظام التدويل المدمج فيه.
  • يساعدك ذلك على تلبية متطلبات حركة المرور الهائلة بسرعة.
  • يُستخدم Django لبناء جميع أنواع أنظمة إدارة المحتوى، والشبكات الاجتماعية، بالإضافة إلى منصات الحوسبة العلمية.
  • يساعدك Django في توفير اختبار شامل للتطبيقات من البداية إلى النهاية.
  • يساعدك ذلك في توثيق واجهة برمجة التطبيقات الخاصة بك باستخدام مخرجات HTML.
  • يوفر إطار عمل REST دعمًا غنيًا للعديد من بروتوكولات المصادقة.
  • يوفر البرنامج صلاحيات وسياسات للتحكم في معدل نقل البيانات.
  • يتم استخدامه على نطاق واسع لطلبات واجهة برمجة التطبيقات (API) التي تحدد المعدل من مستخدم واحد.

تاريخ جانغو

السنة Milestone
2003 بدأ المشروع من قبل أدريان هولوفاتي وسيمون ويليسون كمشروع داخلي في صحيفة لورانس جورنال وورلد.
يوليو ٢٠٢٠ تم إصداره في يوليو 2005 تحت اسم "Django"، نسبة إلى عازف الجيتار الجاز Django Reinhardt.
يونيو 2008 أُعلن أن برنامج Django Foundation (DSF) سيحافظ على Django.
29 يوليو 2009 تم إصدار Django 1.1 بميزات مثل التجميعات والاختبارات القائمة على المعاملات.
17 مايو 2010 تم إصدار Django 1.2. وقد قدم التحديث ميزات مثل قواعد بيانات متعددة ونظام خلفي للبريد الإلكتروني، كما تم إجراء تحسينات على الجلسات وملفات تعريف الارتباط.
مسيرة 23 2011 أضاف الإصدار 1.3 ميزات مثل طرق العرض القائمة على الفئات والملفات الثابتة.
مسيرة 23 2012 تم إطلاق الإصدار 1.4 بميزات جديدة مثل المناطق الزمنية والاختبار داخل المتصفح.
26 فبراير 2013 يأتي الإصدار 1.5 مع Python 3 ميزات دعم ونماذج مستخدم قابلة للتكوين.
6 نوفمبر 2013 جاء الإصدار 1.6 مزودًا بميزات إدارة معاملات قواعد البيانات وتجميع الاتصالات.
2 سبتمبر 2014 تضمنت النسخة 1.7 ميزات جديدة مثل تحميل التطبيقات، وعمليات الترحيل، والتكوين.
أبريل 1 2015 تم توفير دعم أصلي لمحركات قوالب متعددة.
شنومكس ديك شنومكس في الإصدار 1.9، تم تقديم ميزة التحقق التلقائي من كلمة المرور.
أغسطس 1 2016 في الإصدار 1.10، البحث في النص الكامل لـ PostgreSQL تم إطلاق.
أبريل 4 2017 أصبح الإصدار 1.11 آخر إصدار يدعم Python 2.7.
شنومكس ديك شنومكس أصبح الإصدار 2.0 هو الأول Python إصدار خاص بالإصدارات 3 فقط.
أغسطس 1 2018 جاء الإصدار 2.1 مزودًا بميزات دعم أذونات "عرض" النموذج.
2021 تمت إزالة دعم Django 3.0 وإضافة دعم Django 3.2.

والآن في هذا الدرس التعليمي للمبتدئين حول Django، دعونا نتعرف على ميزات Django.

ميزات Django

وفيما يلي ميزات جانغو:

  • يساعدك على تحديد الأنماط لـ URLs في طلبك.
  • بسيطة ولكنها قوية URL نظام.
  • نظام مصادقة مدمج.
  • قاعدة بيانات للغة برمجة كائنية التوجه توفر أفضل حلول تخزين واسترجاع البيانات.
  • تتيح ميزة واجهة الإدارة التلقائية إمكانية إضافة العناصر وتعديلها وحذفها. يمكنك تخصيص لوحة التحكم الإدارية حسب احتياجاتك.
  • يأتي إطار عمل التخزين المؤقت مزودًا بآليات تخزين مؤقت متعددة.

سنتعرف الآن في هذا الدرس التعليمي حول إطار عمل Django على خصائص Django.

خصائص جانغو

فيما يلي الخصائص الرئيسية لجانغو:

  • المتباعدة – يساعدك Django على جعل كل عنصر من عناصر مكدسه مستقلاً عن العناصر الأخرى.
  • Less الكود - يضمن التنمية الفعالة.
  • غير مكرر ينبغي تطوير كل شيء في مكان واحد بالضبط بدلاً من تكراره مرة أخرى.
  • تطور سريع – يوفر Django تطوير تطبيقات سريع وموثوق.
  • تصميم متسق - يحافظ Django على تصميم نظيف ويسهل اتباع أفضل ممارسات تطوير الويب.

في هذا البرنامج التعليمي للمبتدئين حول Django، سنتعلم المزيد عن بنية Django.

Django Archiالبنية: MVC وMVT

فيما يلي هندسة تفصيلية لـ Django:

Django Architecture

Django Architecture

نمط MVC

عند الحديث عن التطبيقات التي توفر واجهة مستخدم (سواءً كانت تطبيقات ويب أو تطبيقات سطح مكتب)، فإننا نتحدث عادةً عن بنية MVC. يعتمد نمط MVC على النموذج والعرض والمتحكم.

استخدم الموديل يحدد بنية البيانات ويتولى مهمة الاستعلام عن قاعدة البيانات.

استخدم عرض الطلب يحدد البيانات التي يجب تقديمها ويعيد استجابة HTTP.

استخدم مراقب هو جزء من التطبيق الذي يتعامل مع تفاعل المستخدم.

نمط جانغو MVC-MVT

يُعدّ نمط Model-View-Template (MVT) مفهومًا مختلفًا عن نمط MVC. ويكمن الفرق الرئيسي بين هذين النمطين المعماريين في أن Django يتولى إدارة جزء المتحكم (الكود البرمجي الذي يتحكم في التفاعلات بين النموذج والعرض). أما القالب فهو ملف HTML مُدمج مع ملف لغة قوالب Django، ويُسمى أيضًا DTL.

يوضح الرسم البياني أدناه كيفية تفاعل جميع مكونات نمط MVT مع بعضها البعض لتلبية طلب مستخدم محدد.

Django Archiالبنية: MVC وMVT

MVT Architecture

كما هو موضح في الرسم التخطيطي أعلاه، يطلب المستخدم موردًا من Django. يعمل Django كوحدة تحكم ويتحقق من توفر المورد في URL.

إذا كان URL في الخرائط، يتم استدعاء عرض يتفاعل مع النموذج والقالب. ثم يستجيب Django للمستخدم ويرسل قالبًا كاستجابة.

سنتعرف الآن في هذه السلسلة التعليمية للمبتدئين حول Django على مكونات Django.

مكونات جانغو

شكل

يحتوي Django على مكتبة نماذج قوية تتعامل مع عرض النماذج بتنسيق HTML. تساعد المكتبة في التحقق من صحة البيانات المقدمة وتحويلها إلى Python أنواع.

التحقّق من المُستخدم

وهو يتعامل مع حسابات المستخدمين والمجموعات وجلسات المستخدمين القائمة على ملفات تعريف الارتباط وغير ذلك.

إداري

يقرأ البيانات الوصفية في النماذج الخاصة بك لتوفير واجهة قوية يمكن استخدامها لإدارة المحتوى على موقعك.

التجارة في الخارج

يوفر Django دعمًا لترجمة النصوص إلى لغات مختلفة، وتنسيقًا خاصًا باللغات للتواريخ والأوقات والأرقام والمناطق الزمنية.

الأمن والحماية

يوفر Django إجراءات وقائية ضد الهجمات التالية:

  • تزوير طلب عبر المواقع (CSRF)
  • عبر موقع البرمجة
  • حقن SQL
  • Clickjacking
  • تنفيذ التعليمات البرمجية عن بعد

الشركات الشهيرة التي تستخدم Django

فيما يلي بعض الشركات التي تستخدم Django:

  • Bitbucket
  • هارد
  • وكالة ناسا
  • PBS (خدمة الإذاعة العامة)
  • بينترست
  • Instagram
  • موزيلا
  • The Washington Post
  • نيو يورك تايمز
  • لوس أنجلوس تايمز
  • الجارديان
  • ناشيونال جيوغرافيك
  • قناة الاستكشاف

عيوب استخدام جانغو

فيما يلي بعض عيوب استخدام Django:

  • لا يمكن لعملية واحدة معالجة طلبات متعددة في وقت واحد.
  • Django أداة متجانسة للغاية.
  • يتم نشر المكونات معًا، مما قد يخلق ارتباكًا.
  • يتطلب العمل على Django معرفة كاملة بالنظام.
  • يجعل ذلك مكونات تطبيق الويب مترابطة بشكل وثيق.
  • تحتاج إلى القيام ببرمجة مطولة للمهام البسيطة.

الأسئلة الشائعة

يُعدّ Django في الأساس إطار عمل للخادم، على الرغم من أنه يُوصف غالبًا بأنه إطار عمل متكامل لأن طبقة القوالب فيه تُنشئ صفحات HTML. فهو يُدير منطق الخادم وقواعد البيانات والتوجيه والأمان، بينما تتولى القوالب مهمة عرض المحتوى للمتصفح.

Django هو إطار عمل متكامل ومتكامل، مزود بنظام إدارة علاقات الكائنات (ORM) مدمج، ولوحة تحكم إدارية، ونظام مصادقة. أما Flask فهو إطار عمل مصغر وخفيف الوزن، يتميز ببساطته ويعتمد على الإضافات لتوفير نفس الميزات، مما يمنح المطورين تحكمًا يدويًا أكبر.

تتيح لك أداة Django ORM، أو أداة ربط الكائنات العلائقية، تعريف جداول قاعدة البيانات على النحو التالي: Python الفئات والاستعلام عنها باستخدام Python بدلاً من استخدام لغة SQL الخام، يدعم هذا البرنامج قواعد البيانات مثل: PostgreSQL, MySQL, SQLiteو Oracle.

قم بتشغيل الأمر python -m django --version في سطر الأوامر، أو افتح ملفًا. Python قم بتشغيل الأمر `import django` متبوعًا بالأمر `print(django.get_version())`. سيعرض كلا الأمرين رقم إصدار Django المُثبّت.

البرمجيات الوسيطة عبارة عن سلسلة من الخطافات التي تعالج كل طلب واستجابة على مستوى النظام. يستخدم Django البرمجيات الوسيطة للجلسات، والمصادقة، والحماية من هجمات تزوير الطلبات عبر المواقع (CSRF)، وعناوين الأمان، حيث يتم تشغيل كل منها بالتسلسل قبل وبعد تنفيذ واجهة المستخدم.

المعرفة العملية بـ Python ويتطلب الأمر فهم مفاهيم الويب الأساسية مثل HTTP وHTML وقواعد البيانات. كما أن فهم البرمجة الكائنية التوجه يُسهّل تعلم نماذج Django وواجهات المستخدم القائمة على الفئات.

نعم. غالبًا ما يُقدّم Django نماذج التعلّم الآلي من خلال العروض أو إطار عمل Django REST، حيث يعرض التنبؤات كنقاط نهاية API. يتم تحميل النموذج المُدرّب مرة واحدة عند بدء التشغيل، ثم يُعيد نتائج الاستدلال إلى عملاء الويب أو تطبيقات الجوال.

يقوم برنامج GitHub Copilot ومساعدو الذكاء الاصطناعي المماثلون بإكمال نماذج Django وعروضها تلقائيًا. URL تُساعد الأنماط والاختبارات في إنشاء بنية أساسية للبرامج المتكررة. كما أنها تُسرّع عملية التطوير، مع ضرورة مراجعة الكود المُولّد دائمًا للتأكد من سلامته وصحته.

تلخيص هذه التدوينة بـ: