تعلم Django من الصفر إلى بناء تطبيقات ويب متكاملة مع Dr. Chuck
ما هو Django ولماذا يحظى بهذه الشعبية؟
يُعد Django أحد أشهر أُطر العمل في عالم Python لتطوير تطبيقات الويب المتكاملة. ويعود هذا الانتشار إلى قدرته على تسريع عملية التطوير، وتوفير بنية منظمة للمشروعات، وتقديم أدوات جاهزة للتعامل مع قواعد البيانات، وإدارة المستخدمين، وإنشاء الواجهات الخلفية بكفاءة عالية.
إذا كنت مبرمج Python وترغب في الانتقال إلى بناء مواقع وتطبيقات ويب احترافية، فإن دورة Django for Everybody التي يقدمها Dr. Chuck تمثل نقطة انطلاق قوية وعملية.

من هو Dr. Chuck؟
Charles Severance المعروف باسم Dr. Chuck هو أحد الأسماء البارزة في التعليم التقني، وقد قدّم أيضاً دورة Python for Everybody الشهيرة. يعمل أستاذاً سريرياً في University of Michigan School of Information، حيث يدرّس مقررات متعددة تشمل البرمجة، وتصميم قواعد البيانات، وتطوير الويب.
ما يميز أسلوبه التعليمي هو المزج بين الجانب الأكاديمي والتطبيق العملي، ما يجعل المفاهيم المعقدة أكثر وضوحاً وسهولة للمتعلمين.

ماذا ستتعلم في دورة Django for Everybody؟
الدورة لا تقتصر على شرح Django فقط، بل تقدم مساراً متكاملاً لفهم كيفية عمل الويب من الأساس وحتى بناء تطبيقات تفاعلية حديثة. وهذا ما يجعلها مناسبة لكل من يريد تطوير فهم تقني عميق، لا مجرد اتباع خطوات جاهزة.
المهارات الأساسية التي تغطيها الدورة
- فهم آلية عمل تطبيقات الويب ودورة Request/Response.
- التعرف على بروتوكول HTTP وآلية الاتصال عبر الشبكات باستخدام Sockets.
- بناء متصفح ويب بسيط وخادم HTTP بسيط باستخدام Python.
- إتقان أساسيات HTML وCSS.
- فهم قواعد البيانات وكتابة استعلامات SQL.
- العمل مع Django Models والعلاقات بين الجداول.
- التعامل مع Templates وDTL في Django.
- إنشاء النماذج Forms ومعالجة GET وPOST.
- فهم الحماية من CSRF وإدارة Sessions وCookies.
- إدارة تسجيل الدخول والمستخدمين والصلاحيات.
- استخدام JavaScript وjQuery وAJAX.
- بناء خدمات تعتمد على JSON Web Services.
أبرز محاور الدورة التعليمية
تتميز هذه الدورة بأنها شاملة جداً، إذ تمتد لما يقارب 18 ساعة من المحتوى التعليمي، وتغطي موضوعات مترابطة تساعد المتعلم على الانتقال من الفهم النظري إلى التطبيق العملي.
أولاً: أساسيات الويب قبل Django
قبل الدخول في تفاصيل الإطار، تبدأ الدورة بشرح الأسباب التي تجعل تعلم Django خياراً مهماً، ثم تنتقل إلى المفاهيم الأساسية التي يقوم عليها الويب الحديث.
- Why Teach Django?
- Web Applications and the Request/Response Cycle
- Exploring the HyperText Transfer Protocol
- Using Sockets to Make Network Connections in Python
- Building a Simple Web Browser in Python
- Building a Simple HTTP Server in Python
- Understanding Browser Developer Mode
ثانياً: بنية تطبيقات Django وإعداد البيئة
بعد بناء الأساس النظري، ينتقل الشرح إلى تركيب تطبيقات Django وكيفية إعداد المشروع ورفعه على بيئات تشغيل مثل PythonAnywhere.
- The Structure of a Django Application
- Installing Django on PythonAnywhere
- Using GitHub With Django and PythonAnywhere
- Using ngrok to Submit Assignments to DJ4E
ثالثاً: تعلم HTML وCSS لبناء الواجهات
لا يمكن تطوير تطبيق ويب متكامل دون فهم تقنيات الواجهة الأمامية. لذلك تخصص الدورة جزءاً مهماً لشرح HTML وCSS مع أمثلة عملية ومراجعات للكود.
- HTML – HyperText Markup Language (Part 1)
- HTML – HyperText Markup Language (Part 2)
- Code Walk Through HTML
- CSS – Cascading Style Sheets – (Part 1)
- CSS – Cascading Style Sheets – (Part 2)
- CSS – Cascading Style Sheets – (Part 3)
- CSS – Sample Code Walkthrough (Part 1)
- CSS – Sample Code Walkthrough (Part 2)
رابعاً: قواعد البيانات وSQL في Django
من أهم نقاط القوة في Django تكامله الممتاز مع قواعد البيانات. ولهذا تشرح الدورة أساسيات تصميم البيانات ثم كيفية استخدام Models والهجرات Migrations والعلاقات المختلفة.
- How Databases Work
- Introduction to Structured Query Language (SQL)
- Demonstration: Basic SQL
- Introduction to Django Models
- Data Model Migration in Django
- Demonstration: Django Single Table Models
- Resetting your Django database on PythonAnywhere
- Django Models – Many-To-One Relationships – Music Database Model
خامساً: Views وURL Routing والقوالب
في هذا الجزء، يتعلم المتدرب كيفية استقبال الطلبات داخل Django، وربطها بالمسارات، ثم عرض البيانات باستخدام القوالب.
- Model View Controller in Django
- URL Routing in Django
- Django Views
- Inside Django Views and HTML Escaping in Django
- Using Templates in Django
- The Django Template Language (DTL)
- Inheritance in Django Templates
- Reversing Django Views and URLs
- Understanding Django Generic Views
سادساً: النماذج، الطلبات، والحماية الأمنية
هذا القسم مهم جداً لفهم كيفية بناء تطبيقات تتفاعل مع المستخدمين بشكل آمن ومنظم.
- Forms, GET, POST, and HTTP
- Building HTML Forms
- Forms and Cross Site Request Forgery (CSRF)
- CSRF Support in Django
- The POST Refresh Pattern
- Cookies in Browsers and Django
- Using Sessions in Django
سابعاً: العلاقات المتقدمة في قواعد البيانات
تتوسع الدورة في شرح نماذج البيانات من نوع One-to-Many وMany-to-Many مع أمثلة عملية داخل Django.
- One-to-Many Models Overview
- Removing Replication in One-to-Many Models
- Storing Primary and Foreign Keys in a Database
- Representing One-To-Many Models in Django
- Using the Django Shell to Explore One-to-Many Models
- Loading One-to-Many Data using a Django Batch Script
- Many-to-Many Overview
- A Simple Many-To-Many Example in Django
- Many-To-Many Data Models for Courses and Membership
- Building a Django Batch Script to Load Data from CSV
ثامناً: إدارة المستخدمين والمصادقة
لا يكاد يخلو أي تطبيق حديث من نظام مستخدمين. ولذلك تغطي الدورة طرق إنشاء الحسابات وإدارة الدخول والخروج والاستفادة من قدرات المصادقة في Django.
- Creating and Managing Users in Django
- Login and Logout URLs in Django
- Using Django Login in Views
- Using Django Forms Capabilities
تاسعاً: مشاريع تطبيقية وعينات عملية
من أفضل مزايا الدورة اعتمادها على تطبيقات تعليمية حقيقية توضح كيفية بناء المشاريع وتفكيكها خطوة بخطوة.
- Walkthrough of the DJ4E Autos Sample – Generic Django Edit Forms
- Exploring the DIY Hello World Django Application on Localhost
- Exploring the DIY Hello World Django Application on PythonAnywhere
- Virtual Hosting of Django Applications
- Owned Rows in Django – Overview
- Owned Rows in Django – Generic Views Review
- Owned Rows in Django – owner.py
- Walking through the DJ4E My Articles (myarts) Sample Code
- Walking through the DJ4E Bootstrap Menu (menu) Sample Code
- Walking through the DJ4E Crispy Forms (crispy) Sample Code
عاشراً: JavaScript وjQuery وAJAX داخل Django
حتى يصبح التطبيق أكثر تفاعلاً، لا بد من فهم الواجهة الديناميكية. ولهذا تنتقل الدورة إلى شرح JavaScript وjQuery وطرق التفاعل مع عناصر الصفحة وتحديث البيانات دون إعادة تحميل كاملة.
- JavaScript – Overview and History
- JavaScript – In the Browser
- JavaScript – The Language
- JavaScript Functions and Arrays
- JavaScript Conditional and Loops
- JavaScript Object Oriented Concepts
- JavaScript Object Oriented Classes
- jQuery and the Document Object Model
- Using jQuery
- Walking through the DJ4E jQuery DOM sample code
- Walking through the DJ4E jQuery setup sample code
- Walking through the DJ4E jQuery events sample code
- Walking through the DJ4E jQuery DOM modification
الحادي عشر: JSON وAJAX وتطبيقات تفاعلية متقدمة
تتضمن الدورة كذلك فهماً عملياً لكيفية تبادل البيانات بين الواجهة الأمامية والخلفية باستخدام JSON وAJAX، وهو جانب أساسي في تطوير التطبيقات الحديثة.
- JSON/AJAX Overview
- Walking through the DJ4E JSON Sample Code
- Building an AJAX Chat with Django
- Walking through the DJ4E JSON (chat) Sample Code
- Walking through the DJ4E Favicon Sample Code
- Walking through the DJ4E Social Login Code
- Walking through the DJ4E Favorites (favs) Sample Code
- Walking through the DJ4E Search (well) Sample Code
لماذا تعد هذه الدورة مناسبة للمبتدئين والمتقدمين؟
رغم أن الدورة موجهة أساساً إلى من لديهم معرفة مسبقة بـ Python، فإنها مفيدة أيضاً لمن يريد بناء أساس متين في تطوير الويب. فهي لا تقدم مجرد أوامر جاهزة، بل تشرح كيف تعمل الأدوات من الداخل، وهو ما يمنح المتعلم فهماً قابلاً للتوسع لاحقاً في مشاريع أكبر.
| الميزة | الفائدة |
|---|---|
| شرح متدرج | يساعد على الانتقال من المفاهيم الأساسية إلى التطبيقات المتقدمة بسلاسة |
| محتوى شامل | يغطي الويب، قواعد البيانات، الواجهة الأمامية، والخلفية في مسار واحد |
| مشاريع عملية | يعزز الفهم من خلال أمثلة واقعية قابلة للتطبيق |
| تركيز على Django | يبني خبرة فعلية في أحد أهم أطر Python لتطوير الويب |
ما الذي يميز Django عن غيره من أطر Python؟
هناك العديد من أطر العمل في Python، لكن Django يتميز بفلسفة واضحة تقوم على الإنتاجية العالية ومبدأ Don’t Repeat Yourself. كما يوفّر مكونات متكاملة جاهزة مثل:
- ORM للتعامل مع قواعد البيانات.
- لوحة إدارة مدمجة.
- نظام توثيق ومستخدمين.
- حماية افتراضية ضد عدد من الثغرات الشائعة.
- تنظيم قوي للمشروعات الكبيرة.
لهذا السبب، يُعد خياراً ممتازاً لتطوير تطبيقات الأعمال، والمنصات التعليمية، والمواقع الديناميكية، ولوحات التحكم.
مشاهدة الدورة والاستفادة منها
يمكنك مشاهدة الدورة كاملة عبر قناة freeCodeCamp.org على YouTube. وتمتد الدورة لنحو 18 ساعة، ما يجعلها مرجعاً متكاملاً لكل من يريد تعلّم Django بجدية.
إذا كنت تسعى إلى دخول مجال تطوير الويب باستخدام Python، فهذه الدورة تمنحك تصوراً واضحاً عن الطريق، بداية من أساسيات الإنترنت وحتى بناء تطبيقات تعتمد على AJAX وJSON وإدارة المستخدمين وقواعد البيانات.
الخلاصة التقنية
من الناحية التقنية، تمثل دورة Django for Everybody خياراً ممتازاً لكل مطور يريد فهم تطوير الويب بشكل متكامل لا سطحي. قوة الدورة لا تكمن في شرح Django وحده، بل في ربطه بسياق الويب الكامل: من HTTP وHTML وCSS إلى SQL وJavaScript وAJAX. هذا النوع من التعلم يبني مطوراً أكثر قدرة على التحليل، وأفضل استعداداً لإنشاء تطبيقات ويب عملية وقابلة للتوسع.