إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

أول الخطوات مع Django

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • [شرح] أول الخطوات مع Django

    بما ان علي إكمال أرضية من يريد تعلم بالبايثون لعمل تطبيقات للمجال الويب عليه الوصول إلى Djando فهو ما هو هذا الغريب. وبما أنني أحاول تعلم لغة برمجة غير بي أتش بي فسأحاول تعلمها و تجربة لغات أخرى.
    ما هو جانغو ؟


    جانغو (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
    __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' 'مرحبا بالعالم' }) 
    الدالة render_to_response تستخدم قوالب للعمل وسيتم شرح عمل قالب بعد هذا الوقفة الإعلانية
    إستعمال القوالب

    أضن لا أحد يطيق وقفة إعلانية هههه.عند إستعمال 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
    والأن علينا إضافة هذا المكان للمشروع عبر إدراجه في settings.py
    كود 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 
    إستخدام Django لسرفير

    سنقول وضعنا هذا المشروع في /var/www ليتم معاينته من طرف الأخرين
    نقوم بفتح ملف الإعدادات الخاص ب أباتشي
    كود PHP:
     # vim /etc/apache2/sites-available/default 
    ونضيف فوق ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    كود 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
    هذا فان اخطأت فمن نفسي ومن الشيطان وان اصبت فمن الله عز وجل
    بالتوفيق والقادم يكون دائما أفضل
    علّم الناس علمك، وتعلّم علم غيرك، فتكون قد أتقنت علمك، وعَلِمْتَ ما لم تعلم.

  • #2
    السلام عليكم:

    قبل اسبوع تقريباً قررت تعلم احد اطر الويب استقريت علي بايثون ثم بعدها بعدة ايام تركتها من اجل ror

    حقاً مصادر لتعليم ديجانغو وغيرها قليلة جداً وغير مريحة مقارنة بروبي اون ريلز
    شكراً لتوفيرك هذا المادة المريحة

    تعليق


    • #3
      للمزيد
      http://ojuba.org/wiki/docs/django-basics

      تعليق


      • #4
        المشاركة الأصلية بواسطة محمد نجم مشاهدة المشاركة
        السلام عليكم:

        قبل اسبوع تقريباً قررت تعلم احد اطر الويب استقريت علي بايثون ثم بعدها بعدة ايام تركتها من اجل ror

        حقاً مصادر لتعليم ديجانغو وغيرها قليلة جداً وغير مريحة مقارنة بروبي اون ريلز
        شكراً لتوفيرك هذا المادة المريحة
        مالذي يدور في بالك لتعلم كل هذه اللغات والخوازميات (أذكر أنك كنت مع جافا) d:

        تعليق


        • #5
          مشكور أخي على المقدمة الرائعة

          و الباثون لغة رائعة جدا

          تحياتي...
          Follow me...
          Twitter - Blog

          تعليق


          • #6
            المشاركة الأصلية بواسطة أمين روخ مشاهدة المشاركة
            مالذي يدور في بالك لتعلم كل هذه اللغات والخوازميات (أذكر أنك كنت مع جافا) d:
            قررت ان اتعلم قليلاً في تطوير الويب "خصوصاً واني اطمح ان اتدرب هذه السنة في شركة تعمل في هذا المجال"
            كما ان جافا مع الويب مؤلمة

            تعليق

            يعمل...
            X