نشر مشروع جانغو على منصة PythonAnywhere

إلى حد الساعة مازال مشروعنا موجود على جهازنا المحلي فقط ولكن نحن بحاجة إلى نشره على الشبكة العنكبوتية وهذا ما سنتعلمه في هذا الدرس .

كما تعلمنا سابقا فإن المواقع الإلكترونية تستضاف من قبل السيرفرات (الخوادم) وهناك العديد منها على الأنترنيت ، ولكننا قمنا بإختيار موقع PythonAnywhere لسهولة عملية النشر عليه ، حيث يعتبر هذا الأخير سيرفر رائع مجاني بالنسبة للتطبيقات والمواقع الصغيرة والتي لا تمكلك زوار كثر وهو ما سيكون مناسب لنا .

اما الخدمة الاخرى التي سنستخدمها هي GitHub وهي خدمة إستضافة الأكواد البرمجية ومعظم المبرمجين يمتلكون حساب على هذه الخدمة وقد جاء دورنا الأن لإمتلاك حساب على هذا الأخير .

ثلاثة اماكن ستكون مهمة بالنسبة إليك : جهاز الكمبيوتر الخاص بك الذي سيكون مكان للتطوير والتجريب وعندما تكون مسرورا بالتغييرات ستحمل نسخة من البرنامج إلى  GitHub وسيكون موقعك على PythonAnywhere وستقوم بتحديثه من خلال موقع GitHub. أكمل القراءة →

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

لوحة تحكم بموقع جانغو

تعتبر واجهة مدير المواقع او لوحة التحكم جزء اساسي من البنية التحتية لفئة واسعة من المواقع الإلكترونية وتعتبر هذه الواجهة أي (لوحة التحكم) واجهة محدودة الوصول وهي تقتصر على مسؤول الموقع فقط أو أشخاص موثوق بهم مصرح لهم بالوصول ويمكن القيام بالكثير من الأمور على واجهة التحكم مثل إضافة،تعديل،حذف محتويات الموقع ومن أهم وأشهر الأمثلة يمكننا  كتابة ونشر مواضبيع جديدة على مدونتك.
ولكن هناك مشكلة مع واجهة المدراء وهي الشعور بالملل عند العمل على إنشاءها ، فنحن نحب تطوير الويب عندما يتعلق الامر بواجهة الموقع الخاصة بالزوار حيث يمكن إضافة أو حذف أمور وكل على حسب إبداعه ولكن عندما يتعلق اﻷمر بواجهة التحكم فالأمر واضح وهو لا يتغير من موقع الى أخر فكل ماعليك هو العمل على مصادقة المستخدمين ،عرض النماذج ، التحقق من صحة المدخلات وهلم جرا أليست عملية مملة ومكررة ؟

إذا ماهو جديد جانغو حول هذه العمليات المتكررة المملة ؟ جانغو يقوم بكل هذه العملية مع بضع سطور برمجية لتكون واجهة التحكم جاهزة للعمل .

اليوم سنتكلم عن واجهة المدير التلقائية الخاصة بجانغو وتعمل هذه الميزة من خلال قراءة البيانات الوصفية الموجودة في نموذجنا لتوفير واجهة قوية و جاهزة للإنتاج من قبل مسؤولي الموقع وسنتعلم كيفية تفعيلها وتخصيصها بما يناسبنا . أكمل القراءة →

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

نماذج جانغو

ما سنقوم به في هذا الدرس هو إنشاء شيء يمكننا من تخزين مواضيع المدونة التي سنقوم بإنشاءها وحتى نستطيع عمل ذلك علينا أولا أن نتكلم قليلا عن ما يسمى الكائنات .

الكائنات 

هناك مصطلح يتم تداوله كثيرا في عالم البرمجة وهو برمجة كائنية التوجه والفكرة هي انه بدلا من كتابة كل التعليمات البرمجية المملة يمكننا إنشاء نماذج الأشياء التي نريدها وتحديد كيفية تفاعلها مع بعضها البعض.

إذا ماهي الكائنات ؟ هي عبارة عن مجموعة من الخصائص و الإجراءات و المثال التالي يوضح العملية بشكل جيد

إذا كنا نريد إنشاء نموذج قط نقوم بإنشاء كائن Cat وسيكون له بعض الخصائص مثل color,age,mod وطبعا سيكون لهذا القط مالك owner (وقد يكون هذا المالك عبارة عن كائن أيضا وإذا كان القط متشرد ستكون هذه الخاصية فارغة )

وسيكون للقط بعض الخصائص الأخرى مثل الطعام feed والذي سيكون طعام القط Catfood طبعا وسيكون عبارة عن كائن اخر مستقل عن كائن القط Cat وله خصائص خاصة به Taste.

أكمل القراءة →

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

إنشاء أول مشروع جانغو

سيكون أول مشروع لنا هو إنشاء مدونة بسيطة .

أول خطوة سنقوم بها هي إنشاء مشروع جانغو ، تقنيا سنقوم بتشغيل بعض السكريبتات المقدمة من طرف جانغو والتي من شانها صنع الهيكل العظمي لمشروعنا (مجموعة من الملفات والمجلدات والتي نستخدمها في ما بعد).

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

تذكير: يجب عليك أن تقوم بتنفيذ جميع الاوامر على البيئة الافتراضية التي تكلمنا عنها في المرة السابقة  فإذا لم تكن ترى البادئة تبدا ب (myvenv) فعليك تفعيل البيئة الافتراضية وقد قمنا بشرح هذه العملية في الدرس السابق ومع هذا لا يوجد مانع من إعادة ذكر الامر بأختصار بالنسبة لمستخدمي ويندوز myvenv\Scripts\activate واما بالنسبة لمستخدمي لينكس myvenv/bin/activate

أكمل القراءة →

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع

تثبيت جانغو

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

البيئة الافتراضية

دعونا نبدا في إنشاء البيئة الافتراضية والتي ستقوم بتغليف جميع البيانات والموارد المطلوبة لتشغيل جانغو في مكان واحد وبالتالي فإن جميع التغييرات التي ستحدث ستطبق على تلك البيئة فقط وعلى سبيل المثال يمكنك العمل عل مشروع يتطلب نسخة جانغو 1.2 بجانب مشروع يتطلب نسخة جانغو اخرى وقس ذلك على المشاريع الأخرى ومن اهم الفوائد الأخرى للبيئة الإفتراضية دعمها لسيرفر الويب الخفيف الوزن الذي ياتي مع جانغو إفتراضيا حتى نتجنب عملية تثبيت و دمج سيرفر الويب أباتشي كما أنها ستبقي الحزم منظمة وتحت السيطرة

أكمل القراءة →

أرجوا أن تقوم بدعمنا عبر نشرك والاعجاب بالموقع