بما ان علي إكمال أرضية من يريد تعلم بالبايثون لعمل تطبيقات للمجال الويب عليه الوصول إلى Djando فهو ما هو هذا الغريب. وبما أنني أحاول تعلم لغة برمجة غير بي أتش بي فسأحاول تعلمها و تجربة لغات أخرى.
ما هو جانغو ؟
جانغو (Django) هـو اطـار عمـل (بالإنجليزية يعرف ب framework) لتصميم تطبيقـات الويب حر ومفتوح المصدر مكتوب بلغة البرمجة بايثون وهو يستعمل هندسة البرمجة MVC (Model–View–Controller) فيأخذ سرعته من تلك الهندسة.وما يعنيه إطار عمل هي مجموعة من المكونات الجاهزة التي تسهل عمل المبرمج من ناحيت تسهيل تلك اللغة ومن ناحية أخرى لكي لا يبدأ مشروعه من الصفر.
ومن الذي يمكنه عمله هو إستعمال لقواعد البيانات من انواع مختلفة، إستعمال جميل لروابط بدون تغيير شيء في الخادم، إستعمال قوالب xhtml لإستعملها في اكثر من صفحة، وأشاء أخري.
تنصيب جانغو Django في أبونتو أو ديبيان
لم يكون كثيرا أليس كذالك
وبما أنني أحب عمل الخوادم أترك عمله أخر الشرح
بداية مشروع جانغو Django
قبل البداية أذكر لن أستعمل أي محرر متطور غير أحد محرر لإستخدام الملفات النصية
أول ما يجب عليك عمله عند إستخدام Django هو إنشاء مشروع , وهذا الأخير سنضع فيه ما يسمى تطبيقات وهو ما سيتم عرضه في الويب.
قبل البداية نختار مكان لوضع المشروع إسم المشروع py_hello وعبر الأوامر نكتب
وبذالك سيقوم بوضع مجلد يحتوي على بعض الملفات
__init__.py هو الملف اﻷول الذي يقرأه python
manage.py يسمح بإدارة المشاريع من إضافة تطبيقات وقواعد بيانات وتشغيل لإختبار التطبيقات
settings.py يحتوي على إعدادات المشروع الرئيسي
urls.py يحتوي على أنماط عناوين المشروع
الغير الجيد أنه بهذه الأشياء لايمكننا عمل أي شيء بما يلزمنا عمل تطبيق واحد على الأقل يحتوي على الكود المحتاج
بداية عمل تطبيق
عندما نحتاج لإضافة تطبيق جديد يلزمنا إستعمال manage.py وهذه المرة التطبيق يسمى hello_app وأمر إضافته على هذا الشكل
وهذا الأخير يضيف مجلد في المجلد السابق ويحتوي على ملفات تختلف على السابقة غير ملف التحميل __init__.py
__init__.py ملف الأول المحمل من طرف python
models.py محتواه يتم توجيهه لإحتواء على نماذج التطبيقات وهذه التطبيقات هم عبارة عن class لبيتهون يقومون بترجمة قواعد البيانات
tests.py محتواه هو تجربة التطبيقات
views.py يحتوي على واجهات التطبيقات، وهذه الواجهة يحتاجها بيتهون لإدارة الوظائف المتعلقة بعرض الناتج في صفحة ويب
لإضافة هذا التطبيق إلى المشروع علينا فتح ملف settings.py وإضافته على النحو التالي
عمل رسالة ترحيبية مرحبا بالعالم
دائما وأبدا قاعدة بداية لغة برمجة هي مرحبا بالعالم (إذا تركو إلى الإختيار ستكون مرحبا بالنوم)
علينا فتح الملف views.py وهو المتخصص في واجهات التطبيقات ونضيف أكواد
الدالة render_to_response تستخدم قوالب للعمل وسيتم شرح عمل قالب بعد هذا الوقفة الإعلانية
إستعمال القوالب
أضن لا أحد يطيق وقفة إعلانية هههه.عند إستعمال Django نجد أن له لغة تخصه في إستخدام القوالب، في أساسا هم عبارة عن ملفات HTML مع فتح مفاتيح مزدوجة لإضهار إرسال معلومات ستملئ ذالك المكان
حليا نوجد في مجلد hello_app نقوم بوضع مجلد أخر فيه يوضح إسمه نسميه templates ونقوم بوضع ملف hello.html ونقوم بفتحه لوضع
والأن علينا إضافة هذا المكان للمشروع عبر إدراجه في settings.py
عمل نمط للعناوين
عبر urls.py علينا إعطاء مكان للوصول إلى التطبيق، وكما قلنا سابقا فهذا الملف الذي يتم سؤاله عن هذه المعطيات وهي أنماط العناوين لكي يتم تحميل الموقع الويب
نغير ليصبح
تجربة عمله
تجربة عمله عبر أمر يقوم بتحميل سيرفير خاص عبر منفذ محدد
إستخدام Django لسرفير
سنقول وضعنا هذا المشروع في /var/www ليتم معاينته من طرف الأخرين
نقوم بفتح ملف الإعدادات الخاص ب أباتشي
ونضيف فوق ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
هذا فان اخطأت فمن نفسي ومن الشيطان وان اصبت فمن الله عز وجل
بالتوفيق والقادم يكون دائما أفضل
ما هو جانغو ؟
جانغو (Django) هـو اطـار عمـل (بالإنجليزية يعرف ب framework) لتصميم تطبيقـات الويب حر ومفتوح المصدر مكتوب بلغة البرمجة بايثون وهو يستعمل هندسة البرمجة MVC (Model–View–Controller) فيأخذ سرعته من تلك الهندسة.وما يعنيه إطار عمل هي مجموعة من المكونات الجاهزة التي تسهل عمل المبرمج من ناحيت تسهيل تلك اللغة ومن ناحية أخرى لكي لا يبدأ مشروعه من الصفر.
ومن الذي يمكنه عمله هو إستعمال لقواعد البيانات من انواع مختلفة، إستعمال جميل لروابط بدون تغيير شيء في الخادم، إستعمال قوالب xhtml لإستعملها في اكثر من صفحة، وأشاء أخري.
تنصيب جانغو Django في أبونتو أو ديبيان
كود PHP:
# apt-get install python-django python-django-doc
وبما أنني أحب عمل الخوادم أترك عمله أخر الشرح
بداية مشروع جانغو Django
قبل البداية أذكر لن أستعمل أي محرر متطور غير أحد محرر لإستخدام الملفات النصية
أول ما يجب عليك عمله عند إستخدام Django هو إنشاء مشروع , وهذا الأخير سنضع فيه ما يسمى تطبيقات وهو ما سيتم عرضه في الويب.
قبل البداية نختار مكان لوضع المشروع إسم المشروع py_hello وعبر الأوامر نكتب
كود PHP:
# django-admin startproject py_hello
__init__.py هو الملف اﻷول الذي يقرأه python
manage.py يسمح بإدارة المشاريع من إضافة تطبيقات وقواعد بيانات وتشغيل لإختبار التطبيقات
settings.py يحتوي على إعدادات المشروع الرئيسي
urls.py يحتوي على أنماط عناوين المشروع
الغير الجيد أنه بهذه الأشياء لايمكننا عمل أي شيء بما يلزمنا عمل تطبيق واحد على الأقل يحتوي على الكود المحتاج
بداية عمل تطبيق
عندما نحتاج لإضافة تطبيق جديد يلزمنا إستعمال manage.py وهذه المرة التطبيق يسمى hello_app وأمر إضافته على هذا الشكل
كود PHP:
# python manage.py startapp hello_app
__init__.py ملف الأول المحمل من طرف python
models.py محتواه يتم توجيهه لإحتواء على نماذج التطبيقات وهذه التطبيقات هم عبارة عن class لبيتهون يقومون بترجمة قواعد البيانات
tests.py محتواه هو تجربة التطبيقات
views.py يحتوي على واجهات التطبيقات، وهذه الواجهة يحتاجها بيتهون لإدارة الوظائف المتعلقة بعرض الناتج في صفحة ويب
لإضافة هذا التطبيق إلى المشروع علينا فتح ملف settings.py وإضافته على النحو التالي
كود PHP:
INSTALLED_APPS = (
'py_hello.hello_app',
)
دائما وأبدا قاعدة بداية لغة برمجة هي مرحبا بالعالم (إذا تركو إلى الإختيار ستكون مرحبا بالنوم)
علينا فتح الملف views.py وهو المتخصص في واجهات التطبيقات ونضيف أكواد
كود PHP:
# -*- coding: utf-8 -*-
from django.shortcuts import render_to_response
def hello (request):
"""Hello view function."""
return render_to_response ('hello.html',
{ 'hello_msg' : 'مرحبا بالعالم' })

إستعمال القوالب
أضن لا أحد يطيق وقفة إعلانية هههه.عند إستعمال Django نجد أن له لغة تخصه في إستخدام القوالب، في أساسا هم عبارة عن ملفات HTML مع فتح مفاتيح مزدوجة لإضهار إرسال معلومات ستملئ ذالك المكان
حليا نوجد في مجلد hello_app نقوم بوضع مجلد أخر فيه يوضح إسمه نسميه templates ونقوم بوضع ملف hello.html ونقوم بفتحه لوضع
كود PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="rtl" lang="ar">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>{{ hello_msg }}</title>
</head>
<body>
<h1>{{ hello_msg }}</h1>
</body>
</html>
كود PHP:
TEMPLATE_DIRS = (
'hello_app/templates'
)
عبر urls.py علينا إعطاء مكان للوصول إلى التطبيق، وكما قلنا سابقا فهذا الملف الذي يتم سؤاله عن هذه المعطيات وهي أنماط العناوين لكي يتم تحميل الموقع الويب
نغير ليصبح
كود PHP:
# -*- coding: utf-8 -*-
from django.conf.urls.defaults import *
urlpatterns = patterns('',
(r'', 'py_hello.hello_app.views.hello'),
)
تجربة عمله عبر أمر يقوم بتحميل سيرفير خاص عبر منفذ محدد
كود PHP:
# python manage.py runserver
سنقول وضعنا هذا المشروع في /var/www ليتم معاينته من طرف الأخرين
نقوم بفتح ملف الإعدادات الخاص ب أباتشي
كود PHP:
# vim /etc/apache2/sites-available/default
كود PHP:
<Location "/py_hello/">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE py_hello.settings
PythonOption django.root /py_hello
PythonDebug On
PythonPath "['/var/www/'] + sys.path"
</Location>
بالتوفيق والقادم يكون دائما أفضل
تعليق