بعد إنشاء مشروع ليكون بمثابة container يحتوى على التطبيقات التى تريد عملها على الويب
تذكر: يمكن المشروع أن يحتوى على تطبيق application أو أكثر ويمكن للتطبيق العمل فى أكثر من مشروعفى هذا الدرس سوف نتعلم كيفية إنشاء application
أولا نفتح run وندخل على مسار المشروع project الذى سميته فى الدرس الأول mysite سوف أنشئ تطبيق اسمه polls يعنى استفتاءات بالأمر
manage.py startapp polls<
هذا الامر سينشئ مجلد للتطبيق فى مجلد المشروع
(فكرة هذا الموقع : إنشاء استفتاء من جهة الـadmins وعلى زوار هذا الموقع التصويت على هذة الاستفتاءات مثل التى فى المواقع الإخبارية وهكذا ،سؤال واختيارات للتصويت عليها )
سيتم إنشاء مجلد للتطبيق اسمه polls يحتوى على كل الملفات التى سنكتب بها الكود اللازم لعمل التطبيق
طبعا بما أن هذا التطبيق يقوم بطرح أسئلة ووضع إختيارات للتصويت عليها وبالتالى نحتاج لحفظ هذة التصويتات لعرضها أو لمعرفة الرأى العام أو أى تصويت أعلى
إذن نحتاج لحفظها وبما إننا نحتاج لحفظها إذن نحتاج لقاعدة بيانات :)
هذا التطبيق يعتبر database web app
طبعا هنا سوف نستخدم sqlite لإنه الـ database server الافتراضى للغة بايثون
طبعا ممكن نستخدم أى DBMS أخر كـ postgresql ،mysql ،..
بدايةََ أول خطوة نفعلها فى أى database web app تطبيق قاعدة بيانات على الانترنت
هى تعريف الـmodels يعنى أعرف هيكل قاعدة البيانات التى أنشئتها أو بمعنى أخر أعرف الـجداول والبيانات التى أريد تخزينها فى الجداول
ولكن مقصدى أن اعرف الجداول من جهه التطبيق
هنا فى تطبيق الاستفتاء :
أعرف جدولين واحد للاستفتاء (السؤال)poll وأخر للاختيارات (الاجوبة)choice
بالنسبة للاستفتاء أعرف له أثنين fields
1)question
2)publication date تاريخ السؤال
بالنسبة للإختيارات:
1)poll id
2)choice
3)votes عدد التصويت
نكتب الكود فى ملف الـ models
لتعريف الجداول الخاصة بالتطبيق أعرف الـ classes الخاصة بها أولا وبعد ذلك عن طريق الاوامر ستنشئ الجداول تلقائيا
بعد ذلك اضيف الـتطبيق فى الـ installed apps فى ملف الـsettings
بعد ذلك فى run نكتب الأمر manage.py sql polls
هذا الامر ينشئ جمل إنشاء الجداول الخاصة بالـ model
بعد ذلك كتابة الامر manage.py syncdb
لإنشاء الجداول فى قاعدة البيانات
بعد ذلك كتابة الأمر manage.py makemigrations
بعد ذلك كتابة الامر manage.py syncdb مرة ثانية
هنا أنشأ الجداول بنجاح ولإدخال بيانات بها والتعامل معها علينا الدخول الى shell وذلك عن طريق الأمر manage.py shell
كما فى الصورة ثم البدء فى كتابة الاوامر
مثلما فى الصورة التالية كما هى فى الدرس على موقع django الرسمى
للخروج من الـ shell أكتب الأمر exit()
ولتمثيل أفضل لل model objects بدلا من <Poll:poll object>
نضيف الـ function هذة الى الـ models
ليست هناك تعليقات:
إرسال تعليق
شاركنى برأيك وأضف الى معرفتى ومعرفة الآخرين: