دروس تعليمية حول Django: الميزات، Archiالثقافة والتاريخ
⚡ ملخص ذكي
Django هو برنامج مجاني ومفتوح المصدر Python إطار عمل ويب مبني على نمط نموذج-عرض-قالب، مما يتيح التطوير السريع لمواقع ويب آمنة وقابلة للتوسع وقائمة على قواعد البيانات من خلال مكونات قابلة لإعادة الاستخدام، وواجهة إدارة تلقائية، وتصميم متكامل.
يُشغّل 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
نمط MVC
عند الحديث عن التطبيقات التي توفر واجهة مستخدم (سواءً كانت تطبيقات ويب أو تطبيقات سطح مكتب)، فإننا نتحدث عادةً عن بنية MVC. يعتمد نمط MVC على النموذج والعرض والمتحكم.
استخدم الموديل يحدد بنية البيانات ويتولى مهمة الاستعلام عن قاعدة البيانات.
استخدم عرض الطلب يحدد البيانات التي يجب تقديمها ويعيد استجابة HTTP.
استخدم مراقب هو جزء من التطبيق الذي يتعامل مع تفاعل المستخدم.
نمط جانغو MVC-MVT
يُعدّ نمط Model-View-Template (MVT) مفهومًا مختلفًا عن نمط MVC. ويكمن الفرق الرئيسي بين هذين النمطين المعماريين في أن Django يتولى إدارة جزء المتحكم (الكود البرمجي الذي يتحكم في التفاعلات بين النموذج والعرض). أما القالب فهو ملف HTML مُدمج مع ملف لغة قوالب Django، ويُسمى أيضًا DTL.
يوضح الرسم البياني أدناه كيفية تفاعل جميع مكونات نمط MVT مع بعضها البعض لتلبية طلب مستخدم محدد.
MVT Architecture
كما هو موضح في الرسم التخطيطي أعلاه، يطلب المستخدم موردًا من Django. يعمل Django كوحدة تحكم ويتحقق من توفر المورد في URL.
إذا كان URL في الخرائط، يتم استدعاء عرض يتفاعل مع النموذج والقالب. ثم يستجيب Django للمستخدم ويرسل قالبًا كاستجابة.
سنتعرف الآن في هذه السلسلة التعليمية للمبتدئين حول Django على مكونات Django.
مكونات جانغو
شكل
يحتوي Django على مكتبة نماذج قوية تتعامل مع عرض النماذج بتنسيق HTML. تساعد المكتبة في التحقق من صحة البيانات المقدمة وتحويلها إلى Python أنواع.
التحقّق من المُستخدم
وهو يتعامل مع حسابات المستخدمين والمجموعات وجلسات المستخدمين القائمة على ملفات تعريف الارتباط وغير ذلك.
إداري
يقرأ البيانات الوصفية في النماذج الخاصة بك لتوفير واجهة قوية يمكن استخدامها لإدارة المحتوى على موقعك.
التجارة في الخارج
يوفر Django دعمًا لترجمة النصوص إلى لغات مختلفة، وتنسيقًا خاصًا باللغات للتواريخ والأوقات والأرقام والمناطق الزمنية.
الأمن والحماية
يوفر Django إجراءات وقائية ضد الهجمات التالية:
- تزوير طلب عبر المواقع (CSRF)
- عبر موقع البرمجة
- حقن SQL
- Clickjacking
- تنفيذ التعليمات البرمجية عن بعد
الشركات الشهيرة التي تستخدم Django
فيما يلي بعض الشركات التي تستخدم Django:
- Bitbucket
- هارد
- وكالة ناسا
- PBS (خدمة الإذاعة العامة)
- بينترست
- موزيلا
- The Washington Post
- نيو يورك تايمز
- لوس أنجلوس تايمز
- الجارديان
- ناشيونال جيوغرافيك
- قناة الاستكشاف
عيوب استخدام جانغو
فيما يلي بعض عيوب استخدام Django:
- لا يمكن لعملية واحدة معالجة طلبات متعددة في وقت واحد.
- Django أداة متجانسة للغاية.
- يتم نشر المكونات معًا، مما قد يخلق ارتباكًا.
- يتطلب العمل على Django معرفة كاملة بالنظام.
- يجعل ذلك مكونات تطبيق الويب مترابطة بشكل وثيق.
- تحتاج إلى القيام ببرمجة مطولة للمهام البسيطة.



