من سلسلة درس " تطبيق الاستفتاء" الموجود على موقع django الرسمى
*******************************************************
فى هذا الدرس سوف نتعلم كيف ندخل على صفحة الادارة وكيفية الحذف والتعديل فى التطبيق الذى أنشأته وأيضا اعطاء صلاحيات لاى مستخدم أخر للتطبيق
أولا الدخول على صفحة الادارةdjango administrarion وذلك عن طريق إنشاء ما يسمى super user أو admin ، من المفترض إننا أنشأناه من قبل فى الدرس السابق ، طريقة إنشاء super user فى django
ثانيا التعديل فى ملف mysite/urls.py
وحذف علامة التعليق من السطر الذى يشير للـ admin مثل فى الصورة
بعد ذلك تشغيل الخادم server بالامر manage.py runerver
ثم الدخول على صفحة الادارة وذلك من خلال المتصفح كتابة عنوان الموقع وهو http://127.0.0.1:8000/admin
الدخول بحساب الـ super user الذى أنشأناه
بعد ذلك تسجيل التطبيق الذى أنشأته فى الـ admin site لكى أعدل عليه فيما بعد
وذلك عن طريق الدخول لملف admin.py الموجود بالمجلد poll
وكتابة كما بالصورة
ثم إعادة تشغيل الخادم ، سوف يظهر التطبيق بموقع الإدارة ويمكن التعديل فيه
يمكنك التعديل على السؤال بالضغط على change حيث ينقلك الى الصفحة التى تحتوى الأسئلة المحفوظة بقاعدة البيانات
...................................................................................................................................................................
التعديل والتنسيق فى صفحة الadmin
................................................
فى الصورة الأخيرة يظهر السؤال أولا ثم التاريخ والوقت كما سُجلوا فى ملف الـ models
ولكن يمكننا التعديل عليهم بحيث تظهر فى صفحة المدير admin كما أريد بإى ترتيب
يمكننا فعل ذلك بالذهاب لملف الـ admin الذى سجلنا به الـmodels وإستبدال سطر تسجيل الـ polls
*******************************************************
فى هذا الدرس سوف نتعلم كيف ندخل على صفحة الادارة وكيفية الحذف والتعديل فى التطبيق الذى أنشأته وأيضا اعطاء صلاحيات لاى مستخدم أخر للتطبيق
أولا الدخول على صفحة الادارةdjango administrarion وذلك عن طريق إنشاء ما يسمى super user أو admin ، من المفترض إننا أنشأناه من قبل فى الدرس السابق ، طريقة إنشاء super user فى django
ثانيا التعديل فى ملف mysite/urls.py
وحذف علامة التعليق من السطر الذى يشير للـ admin مثل فى الصورة
الصورة مقتبسة من موقع django الرسمى |
بعد ذلك تشغيل الخادم server بالامر manage.py runerver
ثم الدخول على صفحة الادارة وذلك من خلال المتصفح كتابة عنوان الموقع وهو http://127.0.0.1:8000/admin
الدخول بحساب الـ super user الذى أنشأناه
بعد ذلك تسجيل التطبيق الذى أنشأته فى الـ admin site لكى أعدل عليه فيما بعد
وذلك عن طريق الدخول لملف admin.py الموجود بالمجلد poll
وكتابة كما بالصورة
ثم إعادة تشغيل الخادم ، سوف يظهر التطبيق بموقع الإدارة ويمكن التعديل فيه
يمكنك التعديل على السؤال بالضغط على change حيث ينقلك الى الصفحة التى تحتوى الأسئلة المحفوظة بقاعدة البيانات
...................................................................................................................................................................
التعديل والتنسيق فى صفحة الadmin
................................................
فى الصورة الأخيرة يظهر السؤال أولا ثم التاريخ والوقت كما سُجلوا فى ملف الـ models
ولكن يمكننا التعديل عليهم بحيث تظهر فى صفحة المدير admin كما أريد بإى ترتيب
يمكننا فعل ذلك بالذهاب لملف الـ admin الذى سجلنا به الـmodels وإستبدال سطر تسجيل الـ polls
بالسطور التالية
class PollAdmin(admin.ModelAdmin): fields = ['pub_date', 'question']admin.site.register(Poll, PollAdmin)
فتظهر على النحو الاتى التاريخ والوقت أولا ثم السؤال
.................................................
لو عندنا مثلا فى التطبيق fields كثير ربما أحتاج الى
تقسيمها الى مجموعات ، يمكننى فعل ذلك
class PollAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['question']}), ('Date information', {'fields': ['pub_date']}), ] admin.site.register(Poll, PollAdmin)
لعمل collapse للـ date information أى إمكان إخفاها وفتحها
نكتب الكود التالى
يظهر بعدها صفحة السؤال فى موقع الادارة هكذا
_________________________________________________________________________________
الخطوة التالية هى إضافة الـ objects المتعلقة بالـ poll
طبعا كل poll يتعلق به خيار choice أو أكثر
فلابد من إضافة الـ choice فى صفحة الإدارة الخاصة بالـ
poll
يمكننا فعل ذلك بطريقتين ، الطريق الاولى والأسهل هى تسجيل model الـ choice فى ملف الadmins
طبعا لإضافة إختيار ثانى للسؤال سوف نضغط على save and add another
ونختار السؤال ثم نضيف إختيار له ...... هذة الطريقة ليست فعالة وبالتالى سوف نستخدم طريقة أخرى بحيث يمكننى إضافة مجموعة من الإختيارات فى آن واحد
سوف أحذف السطر الخاص بتسجيل الإختيارات فى ملف الـ admins والذى أضفته مؤخرا وأكتب ما هو موضح بالصور
لأن الاختيارات تأخد مساحة كبيرة من الشاشة يمكننا تعديل الواجهة التى تظهر للمدير عن طريق كتابة TabularInline
بدلا من StackedInline الموجودة فى choice class
إجراء بعض التغيرات والتنسيق على واجهة صفحة تغيير الـ poll
اضف method اضافية فى poll model
ثم اضيف خانة أخرى فى الlist_display وهى was_published_recently
تظهر علامة صح باللون الاخضر للأسئلة المضافة حديثا
...................................................................................................................................................................
لنضف بعض التعديلات على ملف admin الموجود بمجلد polls
نضف هذا السطر الى PollAdmin
ونختار السؤال ثم نضيف إختيار له ...... هذة الطريقة ليست فعالة وبالتالى سوف نستخدم طريقة أخرى بحيث يمكننى إضافة مجموعة من الإختيارات فى آن واحد
سوف أحذف السطر الخاص بتسجيل الإختيارات فى ملف الـ admins والذى أضفته مؤخرا وأكتب ما هو موضح بالصور
لأن الاختيارات تأخد مساحة كبيرة من الشاشة يمكننا تعديل الواجهة التى تظهر للمدير عن طريق كتابة TabularInline
بدلا من StackedInline الموجودة فى choice class
إجراء بعض التغيرات والتنسيق على واجهة صفحة تغيير الـ poll
اضف method اضافية فى poll model
was_published_recently method |
ثم اضيف خانة أخرى فى الlist_display وهى was_published_recently
تظهر علامة صح باللون الاخضر للأسئلة المضافة حديثا
...................................................................................................................................................................
لنضف بعض التعديلات على ملف admin الموجود بمجلد polls
نضف هذا السطر الى PollAdmin
list_filter = ['pub_date']
أزال المؤلف هذا التعليق.
ردحذف