تكلمنا في الدرس السابق عن التطبيقات الويب والفرق بينها وبين الموقع العادي وتكلمنا على منصات أو إطارت تصميم تطبيقات الويب وتحدثنا على إحداها ألا وهي إطار تصميم تطبيقات الويب Django المصمم باللغة البايثون وتعرفنا على طريقة تنصيبه وتشغيله,واليوم بإذن الله سنتكلم كيف نبدأ بكتابة تطبيقنا الذي سيطبع لنا الجملة الشهيرة في عالم البرمجة “Hello Wolrd”,حسنا سأبدأ بكتابة الأوامر مع شرحها إن شاء الله,وليكن في علم القارئ أنه عليه أن يكون ملم باللغة البايثون حتى ولو الاساسيات مثل المتغيرات والدوال وشروط واهم شيء هي التعاليق النمطية التي وبإذن الله سأخصص درس خاص بها,فالنبدأ عملنا الآن :

سأعمل على توزيعة ubuntu إذن سأدخل على Desktop وأنشئ مجلد يحمل إسم من إختيارك مثلاً Django

cd Dektop
mkdir Django
cd Django

نحن الآن داخل المجلد Django,ننشئ مشروع جديد يحمل إسم من إختيارك مثلاً isecur1ty

django-admin startproject isecur1ty

وكما ذكرنا في الدرس السابق أنه سينشئ داخل المشروع 4 ملفات

:~/Desktop/Django/isecur1ty$ ls
__init__.py manage.py settings.py urls.py

حسنا الآن ننشئ تطبيقنا الذي سيحمل إسم من إختيارك ومثلاً 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 templates
cd templates
gedit hello.html

نكتب داخل الملف الشفيرة الخاص بنا

<h1>Hello World</h1>

جميل الآن نقم بتوجيه Django بمكان ملف القوالب templates,نفتح ملف settings.py من جديد ونذهب إلى السطر TEMPLATE_DIRS ونضع بداخل رابط ملف القوالب,وللحصول على رابط ملف القوالب ندخل على ملف ونتبع التالي

:~/Desktop/Django/isecur1ty/templates$ pwd
/home/amer/Desktop/Django/isecur1ty/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/isecur1ty/templates’

الآن نقوم بكتابة الدالة الاساسية لإظهار قوالب المشروع داخل المتصفحات,نفتح مجلد التطبيق hello وندخل على ملف views.py

cd hello
gedit views.py

ونكتب داخله دالتا

from django.shortcuts import render_to_response
def helloworld(request):
return render_to_response(‘hello.html’)

من له دراية بي أساسيات البايثون أظن أن الكود مفهوم كل ما عليك معرفته على مكتبة django.shortcuts تجده في الرابط التالي https://docs.djangoproject.com/en/dev/topics/http/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’^$’, ‘isecur1ty.views.home’, name=’home’),
# url(r’^isecur1ty/’, include(‘isecur1ty.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/