الأربعاء، 19 مارس 2014

الدرس الثالث :الدخول على صفحة الإدراة فى جانجو django لإدارة التطبيقات

من سلسلة درس " تطبيق الاستفتاء" الموجود  على موقع django الرسمى
*******************************************************
فى هذا الدرس سوف نتعلم كيف ندخل على صفحة الادارة وكيفية الحذف والتعديل فى التطبيق الذى أنشأته وأيضا اعطاء صلاحيات لاى مستخدم أخر للتطبيق
أولا الدخول على صفحة الادارة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
was_published_recently method

ثم اضيف خانة أخرى فى الlist_display وهى was_published_recently


تظهر علامة صح باللون الاخضر للأسئلة المضافة حديثا
...................................................................................................................................................................
لنضف بعض التعديلات على ملف admin الموجود بمجلد polls
نضف هذا السطر الى PollAdmin
list_filter = ['pub_date']



هناك تعليق واحد:

شاركنى برأيك وأضف الى معرفتى ومعرفة الآخرين:

متتبعون المدونة

الأرشيف