قبل أن أبدأ بشرح إطار عمل Django دعونا نسلط الضوء على مفهوم Web Application و الفرق بين Web App و Web Site.
ماهو Web Application:
تطبيق الويب هو تطبيق يتم تطويره ليعمل في المتصفحات ويتم الوصول إليه عن طريق الأنترنات والوسيط والا وهو المتصفح,ويتم كتابة هذه التطبيقات بعدة لغات برمجة
من بينها Python,Php,Perl,Ruby ..etc,ويتم تطويرهذه التطبيقات الويب عن طريق إطارت تصميم تطبيقات الويب Web Application Framework
من ممزيات هذه التقنية الرائعة:
1-تقليل من نسبة إصابة بالفيروسات
2-تسهيل أعمال المستخدم من تصفح وتعامل مع الموقع
3-إمكانية الوصول إلى التطبيق من أي جهاز يتوفرعلى خط الانترنات
4-التخلص من معانات تحديث التطبيقات,لأنه هنا في تقنياتنا التطبيق يتم تطويره عن طريق الموقع
وابرز الأمثلة على تطبيقات الويب هي Microsoft Office Live,Google Reader,Google Apps…etc.
الآن الفرق بين التطبيق الويب والموقع العادي Web Site.الموقع العادي هو عبارة عن موقع يحتوي على عدة مقالات او مواضيع وصور أما تطبيق الويب هو عبارة عن تطبيق يسهل على المستخدم التفاعل مع الموقع بشكل افضل من الموقع العادي.
قلنا في سطور السابقة أن التطبيق الويب يتم تطويره عن طريق إطارات عمل وهي Web Application Framework فهذه الأخيرة ليست إلا مكتبات مكتوبة بلغة برمجة معينة تسهل على المبرمج عناء برمجة الأمور الأساسية لتطبيق الويب,فبدل أن يقوم المبرمج بكتابة السكربتات الاساسية للتطبيق من كلاسات وغيرها فإن هذه الإطارات توفر له ذلك فتعوض الوقت المهدور في برمجة هذه الأمور التي جائت بها تطبيقات الويب جاهزة ولكل لغة برمجة إطار تصميم تطبيقات الويب الخاص بها بالتملك العديد من الإطارت وهنا في مقالنا سنتكلم على إطار Django.
ماهو Django:
هو إطار تصميم تطبيقات الويب مكتوب بلغة البايثون طور بواسطة شركة The World Online على يد Adrian Holovaty , Simon Willison , Jacob Kaplan , Wilson Miner.
سُمِيَ بDjango تخليدا لعازف القيثارة Django Reinhardt و كان أول إصدار له في سنة 2005.
لنقم الآن بتنصيب Django وفي مقالنا سنشرح على توزيعة Ubuntu
لتنصيب المشروع على توزيعة نستعمل الامر
sudo apt-get install python-django python-django-doc
الآن لإنشاء تطبيق جديد بـDjango نتبع الأمر التالي
django-admin startproject nameofproject
بحيث nameofproject هو إسم مشروعنا الجديد
ندخل على المشروع
cd nameofproject
سيتم إنشاء 4 ملفات وهي
manage.py يسمح بإدارة المشاريع من إضافة وتشغيل التطبيق لإختباره
_init__.py هو ملف فارغ وهو اول ملف يقرأه البايثون.
settings.py : هذا الملف يحتوي على إعدادات المشروع.
urls.py : هذا الملف سوف يحتوي على روابط المشروع.
الآن لنبدأ بتشغيل الإطار أكتب هذا الامر في سطر الأوامر.
python manage.py runserver
نذهب إلى المتصفح وندخل على http://127.0.0.1:8000 فتظهر لنا صفحة ترحيبية للمشروع دلالة على تشغيله بنجاح

سأقوم بكتابة تطبيقنا الذي سيطبع لنا الجملة الشهيرة في عالم البرمجة “Hello Wolrd”,حسنا سأبدأ بكتابة الأوامر مع شرحها إن شاء الله,وليكن في علم القارئ أنه عليه أن يكون ملم باللغة البايثون حتى ولو الاساسيات مثل المتغيرات والدوال وشروط واهم شيء هي التعاليق النمطية يمكنك زيارة الروابط التالية لفهمها الجزء الاولة,الجزء الثاني,الجزء الثالث,فالنبدأ عملنا الآن :
حسنا الآن ننشئ تطبيقنا الذي سيحمل إسم من إختيارك ومثلاً hello
python manage.py startapp hello
سنقوم بتعريف المشروع داخل قائمة INSTALLED_APPS من ملف settings.py الموجود داخل المشروع,نقوم بفتح الملف وننزل إلى أن نجد قائمة
INSTALLED_APPS = ( ‘django.contrib.auth’, ‘django.contrib.contenttypes’, ‘django.contrib.sessions’, ‘django.contrib.sites’, ‘django.contrib.messages’, ‘django.contrib.staticfiles’, # Uncomment the next line to enable the admin: # ‘django.contrib.admin’, # Uncomment the next line to enable admin documentation: # ‘django.contrib.admindocs’, ‘hello’, )
حسنا نقم بإنشاء الآن ملف templates وهو ملف القوالب الذي سيحتوي على صفحات تطبيقنا والقوالب ونقوم بإنشاء صفحة الاولة من التطبيق التي ستعرض في شاشة المتصفح مكتوب عليها “Hello World”وأكيد الصفحة ستكون مكتوبة بلغة html
mkdir templatescd templatesgedit hello.html
نكتب داخل الملف الشفيرة الخاص بنا
<h1>Hello World</h1>
جميل الآن نقم بتوجيه Django بمكان ملف القوالب templates,نفتح ملف settings.py من جديد ونذهب إلى السطر TEMPLATE_DIRS ونضع بداخل رابط ملف القوالب,وللحصول على رابط ملف القوالب ندخل على ملف ونتبع التالي
:~/Desktop/Django/nameofproject/templates$ pwd /home/amer/Desktop/Django/nameofprojec/templates
نرجع إلى مجلد المشروع وندخل إلى ملف settings.py ونقم بتوجيه Django بمكان ملف القوالب
TEMPLATE_DIRS = ( # Put strings here, like “/home/html/django_templates” or “C:/www/django/templates”. # Always use forward slashes, even on Windows. # Don’t forget to use absolute paths, not relative paths. ‘/home/amer/Desktop/Django/nameofproject/templates’
الآن نقوم بكتابة الدالة الاساسية لإظهار قوالب المشروع داخل المتصفحات,نفتح مجلد التطبيق hello وندخل على ملف views.py
cd hellogedit views.py
ونكتب داخله دالتا
from django.shortcuts import render_to_response def helloworld(request): return render_to_response(‘hello.html’)
من له دراية بي أساسيات البايثون أظن أن الكود مفهوم كل ما عليك معرفته على مكتبة django.shortcuts تجده هنا
جيد الآن كتبنا دالتا بقيت خطوة أخيرة وهي وضع رابط ملف views.py مع بعض تعاليق النمطية التي يجب فهمها لكي تفهم الكود كليا
نرجع إلى مجلد المشروع Django ونفتح ملف urls.py
cd ..gedite urls.py
ونقم بكتابة الكود
from django.conf.urls.defaults import patterns, include, url # Uncomment the next two lines to enable the admin: # from django.contrib import admin # admin.autodiscover() urlpatterns = patterns(”, # Examples: # url(r’^$’, ‘nameofproject.views.home’, name=’home’), # url(r’^nameofproject/’, include(‘nameofproject.foo.urls’)), # Uncomment the admin/doc line below to enable admin documentation: # url(r’^admin/doc/’, include(‘django.contrib.admindocs.urls’)), # Uncomment the next line to enable the admin: # url(r’^admin/’, include(admin.site.urls)), (r’^hello/$’, ‘hello.views.helloworld’), )
جميل الآن قمنا بإنهاء كل شيء نقوم بتشغيل السرفر
python manage.py runserver
وندخل على الرابط http://127.0.0.1:8000/hello لي تظهر لنا الرسالة الشهيرة في عالم البرمجة
هذا كل شيء عن Django وهذه بدايتك في تطوير تطبيقات الويب بلغة البايثون العجيبة,وكما قلت عليك فهم أساسيات البايثون جيدا مع فهم التعاليق النمطية بشكل جيد,كما يمكنك مراجعة دروس Django على موقعها :
https://docs.djangoproject.com/en/1.5/
بالتوفيق
