Django هو إطار عمل ويب قوي ومفتوح المصدر، Python-يعتمد على تسهيل عملية إنشاء وإدارة مواقع الويب وتطبيقات الويب. تطبيقات Django قابلة للتطوير وذات أداء عالٍ وآمنة. كما أنه يأتي مع توثيق جيد حقًا لكل جزء من أجزاء إطار العمل.
في سلسلتنا حول Django، قمنا باستكشاف Django من خلال تنفيذ موقع ويب نموذجي بميزات تدوين أساسية. في هذا الدليل، سنستعرض خطوات إنشاء عرض نموذجي لتطبيق Django الخاص بنا.
المتطلبات الأساسية
لمتابعة هذا الدليل، ستحتاج إلى المكونات التالية.
- خادم Ubuntu مع التكوينات المناسبة. تعرف على المزيد حول إعداد خادم Ubuntu.
- بيئة تطوير Python مهيأة بشكل صحيح.
- خادم قاعدة بيانات، على سبيل المثال، MySQL. يوضح هذا الدليل بالتفصيل تثبيت وتكوين MySQL على خادم Ubuntu.
هذا الدليل هو استمرار لسلسلتنا حول Django. أولاً، سيكون من المفيد الاطلاع على الأدلة السابقة حول إعداد Django, إنشاء اتصال قاعدة بيانات Django, إنشاء النماذج، و تمكين واجهة مسؤول Django.
في هذا الدليل، سنعرض كيفية إنشاء عروض Django التي ستمكن تطبيق الويب من معالجة طلبات الويب بشكل صحيح وإرجاع الاستجابة المناسبة. كما هو موضح في وثائق Django الرسمية، يمكن أن تكون استجابة الويب محتوى HTML لصفحة ويب، أو إعادة توجيه، أو خطأ HTTP. لا يوجد مكان ثابت لتخزين دوال العرض طالما أنها تقع ضمن مسارات Python. ومع ذلك، هناك اتفاقيات شائعة لتسمية الملفات ووضعها. سيتبع هذا الدليل تلك الاتفاقيات.
الخطوة 1. تنشيط البيئة الافتراضية
يفضل تشغيل Django داخل بيئة افتراضية لـ Python. تطبيق Django الخاص بنا sample_app تم إنشاؤه داخل بيئة افتراضية مخصصة. أولاً، قم بتنشيط البيئة الافتراضية:
|
1 2 3 |
cd sample_app/ . sample_app_env/bin/activate |
Step 2. Creating View Functions
انتقل إلى دليلنا random_app الذي يستضيف نماذج موقع المدونة الخاص بنا:
|
1 |
cd random_app/ |
هنا، الملف views.py سيحتوي على الأكواد اللازمة لإنشاء عروضنا. افتحه في محرر نصوص:
|
1 |
nano views.py |

نحن بحاجة إلى الدالة render() من مكتبة django.shortcuts لذا يظل السطر الأول كما هو. تساعد render() دالة في الجمع بين كل من القالب والسياق ليتم إرجاعهما ككائن HttpResponse المناسب.
سيرحب العرض الأول بالمستخدمين الذين يصلون إلى الصفحة الرئيسية. سيتعين علينا استيراد الدالة HttpResponse() من مكتبة Django http:
|
1 2 3 4 5 6 7 8 |
from django.shortcuts import render from django.http import HttpResponse def index(request): return HttpResponse(لقد وصلت إلى صفحة الترحيبpage') def individual_post(request): return HttpResponse('المنشورات الفردية ستظهر هناhere') |

احفظ الملف وأغلق المحرر.
الخطوة 3. ربط عناوين URL بالعروض
في الوقت الحالي، لا يوجد عنوان URL مخصص لهذه الدوال، لذا لا يمكن الوصول إليها. نحتاج إلى إضافة كتلة أخرى urlpatterns داخل ملف تكوين URL. في Python، يشار إليه باسم ملف URLconf (تكوين URL).
يحتاج Django إلى تحديد وحدة URLconf الجذرية لاستخدامها. بعد ذلك، سيبحث في urlpatterns التي تحتوي على جميع أنماط URL في بنية قائمة. ثم يمر Django عبر الملف حتى يجد التطابق الأول. بمجرد العثور على تطابق، سيبحث Django عن العرض المرتبط به. ستتلقى دالة العرض هذه البيانات المتعلقة بنمط URL وكائن HttpRequest . أي خطأ في أي نقطة من هذه العملية سيعيد توجيهه إلى عرض معالجة الأخطاء.
افتح الملف urls.py الخاص بـ random_app في محرر نصوص:
|
1 |
nano urls.py |
أدخل الكود التالي:
|
1 2 3 4 5 6 7 |
from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), path('post/', views.individual_post, name='individual_post') ] |

احفظ الملف وأغلق المحرر.
بمجرد الانتهاء، سيتعين علينا أيضًا تضمين مسار ملف URL تحت sample_app الخاص بمجلد URLconf. وإلا فلن يتعرف عليه تطبيق Django الخاص بنا. وذلك لأن URLconf الخاص بـ sample_app تم تعيينه كـ ROOT_URLCONF في ملف الإعدادات.
انتقل إلى مجلد التطبيق الخاص بنا sample_app:
|
1 |
cd sample_app/sample_app/sample_app/ |
![]()
افتح الملف urls.py في محرر نصوص:
|
1 |
nano urls.py |

أدخل الكود التالي في الملف:
|
1 2 3 4 5 6 7 |
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('', include('random_app.urls')) ] |

دعنا نختبر تغييراتنا. قم بتشغيل خادم تطبيق Django على localhost:8000:
|
1 |
python manage.py runserver localhost:8000 |

انتقل إلى الرابط (URL):
|
1 |
localhost:8000 |

تحقق من الرابط (URL) الخاص بالمنشور:
|
1 |
localhost:8000/posts |
الخطوة 4. إنشاء منشور مدونة
لقد قمنا بإنشاء أنماط الروابط (URL patterns) واستكشفنا سير عملها. حان الوقت لإضافة مدونة تجريبية ورؤية النتيجة.
من لوحة الإدارة، انتقل إلى صفحة random_app :
|
1 |
localhost:8000/admin/random_app/ |

انقر فوق رابط +Add من صف Posts :

في صفحة الويب الجديدة، سيظهر نموذج يتكون من الحقول التالية.
- العنوان: عنوان منشور المدونة.
- الرابط اللطيف (Slug): يشير إلى جزء من عنوان الويب الصالح الذي يحتوي على كلمات رئيسية مقروءة للبشر. بشكل عام، يتم إنشاء الروابط اللطيفة (slugs) بناءً على عنوان المنشور.
- المحتوى: نص منشور المدونة.
- الكاتب: اسم المستخدم ذو الصلة.
انقر فوق SAVE لإرسال المنشور:

الخطوة 5. عرض البيانات في قاعدة البيانات
في هذا القسم التالي، سنعمل مع قاعدة البيانات الخاصة بنا. قم بتسجيل الدخول إلى MySQL كمستخدم مخصص لـ Django:
|
1 |
mysql -u sample_app_user -p |

دعنا نتحقق مما إذا كان منشورنا قد تم تسجيله بنجاح في قاعدة البيانات:
|
1 |
USE sample_app_data; |

|
1 |
SELECT * FROM random_app_post; |

ها قد تم الأمر! تم تسجيل المنشور بنجاح! يمكنك الآن الخروج من واجهة MySQL.
الخطوة 6. تعديلات إضافية على العرض (View)
هناك بعض الأشياء الإضافية التي يمكننا القيام بها مع طرق العرض (views) الخاصة بنا. افتح الملف في محرر نصوص:
|
1 |
nano views.py |
يجب أن يبدو الكود كالتالي:
|
1 2 3 4 5 6 7 8 9 10 |
from django.shortcuts import render from django.http import HttpResponse from .models import Post def index(request): return HttpResponse('Hello, welcome to the index page.') def individual_post(request): recent_post = Post.objects.get(id__exact=1) return HttpResponse(recent_post.title + ': ' + recent_post.content) |

هنا، قمنا بإضافة عبارة import إضافية لـ Post. تم أيضًا استبدال السلسلة النصية المقتبسة من HttpResponse ببيانات من منشور المدونة الخاص بنا. للإشارة إلى البيانات، نستخدم معرف منشور المدونة مع الكائن المرتبط به. يتم تخزين المعرف في متغير recent_post. الآن، يمكننا استخراج حقول معينة من الكائن عن طريق إلحاق الحقل بنقطة فاصلة.
بمجرد التغيير، دعنا نتحقق من التغييرات. قم بتشغيل خادم Django:
|
1 |
python manage.py runserver localhost:8000 |

الآن، قم بالوصول إلى صفحة Posts :
|
1 |
localhost:8000/posts |

يجب أن يعرض منشور المدونة الذي أنشأناه.
الخطوة 7. الخروج من المشروع
للخروج من خادم Django، اضغط على Ctrl + C من الطرفية. لإلغاء تنشيط بيئة Python الافتراضية، قم بتشغيل الأمر التالي:
|
1 |
deactivate |
أفكار نهائية
في هذا الدليل، نجحنا في توضيح كيفية إنشاء طرق العرض (views)، ورسم خرائط لأنماط عناوين URL، وعرض النصوص على صفحة ويب من قاعدة بيانات random_app في Django.هذه مفاهيم أساسية في Django من الضروري فهمها وإتقانها.
إليك المزيد من الموارد لمساعدتك في إنشاء تطبيقات Django وإدارتها:
- إنشاء تطبيق Django مع الاتصال بقاعدة البيانات: دليل تعليمي
- بناء تطبيق Django و Gunicorn باستخدام Docker على Ubuntu
- كيفية تأمين وتوسيع نطاق تطبيق Django باستخدام Docker و Nginx و Let’s Encrypt
حوسبة سعيدة!

التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.