المقدمة
إذا كنت تتابع سلسلة تطوير Django، فقد بدأت تطبيق Django وقمت بتوصيل تطبيقك بقاعدة البيانات MySQL، وأنشأت نماذج قاعدة البيانات لبيانات المنشورات
والتعليقات
داخل تطبيق الويب الخاص بمدونتك.
في هذا البرنامج التعليمي، سنقوم بالاتصال بموقع إدارة Django وتمكينه بحيث يمكنك إدارة موقع ويب مدونتك. يأتي موقع الإدارة Django مضمنًا مع واجهة مستخدم مصممة للسماح لك وللأفراد الموثوق بهم الآخرين بإدارة محتوى الموقع.
يجدر بالذكر أن توثيق Django الرسمي يشير إلى أنه على الرغم من أن هذا مثالي للاستخدام الداخلي في المؤسسات، إلا أنه لا يُوصى ببناء تطبيق ويب حول واجهة إدارة Django التي تم إنشاؤها تلقائيًا. إذا وجدت أن واجهتك تحتاج إلى المزيد من التركيز على العمليات أو تثبت أنها تجرد التفاصيل التنفيذية لجداول وحقول قاعدة البيانات، فسيكون من الأفضل بالنسبة لك كتابة عروض خاصة بك للجانب الإداري.
المتطلبات المسبقة
هذا البرنامج التعليمي هو جزء من سلسلة تطوير Django وهو استمرار لتلك السلسلة.
إذا لم تقم بمتابعة هذه السلسلة، نحن نفترض ما يلي:
- لديك إصدار Django 4 أو أعلى مثبت.
- لقد قمت بتوصيل تطبيق Django الخاص بك بقاعدة بيانات. نحن نستخدم MySQL ويمكنك تحقيق هذا الاتصال عن طريق اتباع الجزء الثاني من سلسلة Django “كيفية إنشاء تطبيق Django وتوصيله بقاعدة بيانات”.
- أنت تعمل على نظام تشغيل قائم على Unix، ويفضل أن يكون خادم سحابة Ubuntu 22.04 حيث تم اختباره على هذا النظام. إذا كنت ترغب في إعداد Django في بيئة مماثلة، يرجى الاطلاع على برنامجنا التعليمي “كيفية تثبيت Django وإعداد بيئة تطوير على Ubuntu 22.04”.
نظرًا لأن هذا البرنامج التعليمي يتعامل بشكل كبير مع واجهة المشرف في Django، قد تتمكن من متابعته حتى إذا كان لديك إعداد مختلف إلى حد ما.
الخطوة 1 – تمكين المشرف
كلما بدأنا في العمل بلغة Python و Django ، يجب أن نقوم بتنشيط بيئة Python الافتراضية الخاصة بنا والانتقال إلى دليل تطبيقنا الرئيسي. إذا كنت قد تبعت السلسلة، يمكنك تحقيق ذلك عن طريق كتابة ما يلي.
- cd ~/my_blog_app
- . env/bin/activate
لتمكين لوحة التحكم في Django ، نحتاج إلى التأكد من أن تطبيقنا هو جزء من قائمة INSTALLED_APPS
في ملف settings.py
.
انتقل إلى دليل ملف الإعدادات:
- cd ~/my_blog_app/blog/blog/
من هنا، افتح ملف settings.py
. إذا لم يكن موجودًا بالفعل، قم بإضافة django.contrib.admin
إلى قائمة INSTALLED_APPS
باستخدام محرر نصوص مثل nano.
- nano settings.py
يجب أن يكون قسم INSTALLED_APPS
في الملف مشابهًا للملف أدناه. تطبيقنا في القائمة هو الأول، 'blogsite',
ولكن إذا قمت بإنشاء تطبيق باسم مختلف، تأكد من أن يتم إدراج تلك التطبيق في هذا الملف كما هو موضح.
...
# تعريف التطبيقات
INSTALLED_APPS = [
'blogsite',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
تأكد من حفظ وإغلاق الملف إذا قمت بإجراء تغييرات. في nano ، يمكنك القيام بذلك عن طريق كتابة CTRL
و X
ثم Y
ثم ENTER
.
يمكننا الآن فتح ملف urls.py
، مرة أخرى باستخدام nano أو محرر نصوص آخر.
- nano urls.py
تحت التعليق في الأعلى، يجب أن يشبه الملف ما يلي.
…
"""
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
إذا كان الملف مختلفًا عما هو أعلاه، قم بنسخ ولصق السطور أعلاه في ملف urls.py
الخاص بك.
الآن بعد التأكد من أن مشروع الويب Django الخاص بنا يحتوي على الشيفرة المناسبة في ملفات settings.py
و urls.py
، نحن نعلم أن تطبيقنا سيكون لديه وصول إلى نماذج الإدارة وواجهة المستخدم للمسؤول.
الخطوة 2 — التحقق من أن Admin هو تطبيق مثبت
يجب علينا بعد ذلك ترحيل النماذج إلى قاعدة البيانات بحيث يمكنها اعتماد نماذج Admin المضافة حديثًا.
انتقل إلى الدليل الذي يحتوي على ملف manage.py
.
- cd ~/my_blog_app/blog
تذكر تشغيل أمر migrate
عندما تقوم بإجراء أي تغييرات في models
، مثل هذا.
- python manage.py migrate
إذا لم نقم بإجراء أي تغييرات في الملفات أعلاه ، يجب أن نتلقى إخراجًا مماثلًا للتالي عند تشغيل أمر migrate
.
OutputOperations to perform:
Apply all migrations: admin, auth, blogsite, contenttypes, sessions
Running migrations:
No migrations to apply.
في غير ذلك ، يجب أن يشير الإخراج إلى أن Django قامت بعمليات الترحيل اللازمة لدعم تطبيقنا.
يمكننا الآن بدء تشغيل الخادم عن طريق تشغيل الأمر التالي. يمكنك استبدال 0.0.0.0
بعنوان IP الخاص بك.
- python manage.py runserver 0.0.0.0:8000
ثم انتقل إلى عنوان URL لوحة المشرف في متصفح اختيارك. تأكد من إدخال عنوان IP الخادم الخاص بك.
http://your-server-ip:8000/admin/
ستتلقى شاشة تسجيل الدخول المشابهة لهذه.
الوصول إلى هذه الشاشة يُعلمنا أننا قمنا بتمكين تطبيق المشرف بنجاح.
على الرغم من تمكين التطبيق، قد لا نكون قد أنشأنا حساب إدارة Django بعد. يمكننا إنشاء حساب المسؤول لتسجيل الدخول في الخطوة التالية.
الخطوة 3 — إنشاء حساب المسؤول الفائق
إذا كنت قد قمت بإعداد حساب مسؤول ويمكنك تسجيل الدخول إلى صفحة المسؤول الخاصة بك، فيمكنك تخطي هذه الخطوة.
افتح نافذة تيرمينال جديدة للاتصال بالخادم، أو قم بتعطيل تطبيق Django عن طريق الضغط على CTRL
و C
حتى نتمكن من العمل في بيئة برمجة تيرمينال الخادم الخاص بنا.
يتيح لك Django إنشاء حساب مستخدم فائق، ويمكننا القيام بذلك عن طريق تشغيل ملف manage.py
لبدء عملية إنشاء المستخدم الفائق.
- python manage.py createsuperuser
بمجرد فعلنا ذلك، سنُطلب ملء التفاصيل لاسم المستخدم والبريد الإلكتروني وكلمة المرور الخاصة بنا. في هذا البرنامج التعليمي، سنقوم بإنشاء حساب مسؤول بالاسم admin_user
، البريد الإلكتروني [email protected]
وكلمة المرور admin123
. يجب عليك ملء هذه المعلومات بتفضيلاتك الخاصة والتأكد من استخدام كلمة مرور آمنة ستتذكرها.
OutputUsername (leave blank to use 'root'): admin_user
Email address: [email protected]
ثم أدخل كلمة المرور مرتين عند رؤية رسالة كلمة المرور:
. لن تتلقى إخراجًا من ضربات المفاتيح لكلمة المرور عند إدخالها. اضغط على Enter بعد كل رسالة لتأكيد كلمة المرور الخاصة بك.
OutputPassword:
Password (again):
في هذه النقطة، لدينا حساب مسؤول الآن بالاسم admin_user
وكلمة المرور admin123
.
لنقم بتسجيل الدخول والتحقيق في ما يوجد على صفحة الإدارة الخاصة بنا.
إذا لزم الأمر، قم بتشغيل تطبيق Django مرة أخرى باستخدام python manage.py runserver 0.0.0.0:8000
ومن ثم انتقل مرة أخرى إلى عنوان URL http://your-server-ip:8000/admin/
للوصول إلى صفحة تسجيل الدخول للمسؤول. ثم قم بتسجيل الدخول باستخدام اسم المستخدم وكلمة المرور التي قمت بإنشائها للتو.
بعد تسجيل الدخول بنجاح، ستتلقى الصفحة التالية.
بعد ذلك، سنحتاج إلى العمل على ربط تطبيق المدونة لدينا بلوحة التحكم الإدارية.
الخطوة 4 — إنشاء أنماط عناوين URL للمقالة والتعليق
في الخطوة السابقة، قمنا بتسجيل الدخول بنجاح إلى واجهة المستخدم الإدارية، ولكن قد لاحظت أن تطبيق المدونة لدينا لم يتم توفيره بعد هناك. لتعبئة واجهة المستخدم الإدارية لدينا بتطبيق المدونة، نحتاج إلى إضافته وتسجيله باستخدام النماذج المرتبطة Post
و Comment
.
لفعل ذلك، سنقوم بإنشاء ملف فارغ يسمى urls.py
في دليل blogsite
، كما يلي:
- touch ~/my_blog_app/blog/blogsite/urls.py
في هذا الملف، سنضيف نمط عنوان URL لتطبيق المدونة الخاص بنا بحيث يمكننا الوصول إليه عبر واجهة المستخدم الإدارية.
انتقل إلى موقع ذلك الملف urls.py
الذي قمنا للتو بإنشائه.
- cd ~/my_blog_app/blog/blogsite/
ثم افتح الملف باستخدام nano، على سبيل المثال.
- nano urls.py
أضف السطور التالية من الشيفرة إلى الملف.
from django.urls import path
from . import views
urlpatterns = [
path('$/', views.posts, name='posts'),
path('$/', views.comments, name='comments'),
]
هذه هي تعابير نمط عنوان URL اللازمة للسماح لتطبيقنا بالوصول إلى views
الخاصة بـ المشاركات
و التعليقات
. لم نقم بإنشاء تلك views
حتى الآن، ولكن سنغطي ذلك لاحقًا في هذه السلسلة.
الخطوة 5 — ربط تطبيق المدونة بالواجهة الإدارية
ربط مدونتنا بواجهة الإدارة سيسمح لنا برؤية روابط كل من المشاركات
و التعليقات
داخل لوحة الإدارة. في الوقت الحالي، تعرض لوحة التحكم روابط فقط لـ المجموعات
و المستخدمين
.
لربطهما معًا، نحتاج إلى تسجيل نماذج المشاركات
و التعليقات
داخل ملف الإدارة الخاص بـ blogsite
.
انتقل إلى دليل blogsite
:
- cd ~/my_blog_app/blog/blogsite
ثم، افتح ملف admin.py
في محرر نصي من اختيارك.
- nano admin.py
سيكون الملف ممتلئًا ببيان استيراد وتعليق.
from django.contrib import admin
# قم بتسجيل نماذجك هنا.
يجب عليك تحرير الملف بحيث يحتوي على الشيفرة التالية لدعم تطبيقنا.
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment
admin.site.register(Post)
admin.site.register(Comment)
عندما تكون راضيًا عن الملف، احفظ واخرج.
لقد قمت الآن بتسجيل نماذج Post
و Comment
داخل لوحة التحكم. سيتمكن واجهة المشرف من استعراض هذه النماذج وعرضها للمستخدم المسجل الذي يعرض لوحة التحكم.
الخطوة 6 — التحقق من أن تطبيق البلوق قد تمت إضافته إلى الواجهة الإدارية
الآن بعد أن قمت بإضافة الكود البايثون المناسب، قم بتشغيل الخادم. افتح http://عنوان-الخادم-الخاص-بك:8000/admin
وقم بتسجيل الدخول إلى لوحة التحكم باستخدام بيانات اعتمادك إذا لم تكن قد قمت بتسجيل الدخول بالفعل. في هذا البرنامج التعليمي، كنا نقوم بتسجيل الدخول باستخدام اسم المستخدم admin_user
وكلمة المرور admin123
.
الآن بعد تسجيل الدخول، يجب أن تحصل على الصفحة الويب التالية. إذا لم تتغير من السابق، قد تحتاج إلى تحديث متصفحك.
هذا يتحقق من أننا قد قمنا الآن بربط تطبيقنا، blogsite
، بلوحة تحكم Django الإدارية.
عندما تنتهي من اختبار تطبيقك، يمكنك الضغط على CTRL
+ C
لإيقاف تشغيل خادم Django. سيعيد هذا إلى بيئة البرمجة الخاصة بك.
عندما تكون جاهزًا لمغادرة بيئة Python الخاصة بك، يمكنك تشغيل الأمر deactivate
:
- deactivate
تعطيل بيئة البرمجة الخاصة بك سيعيدك إلى موجه أوامر الطرفية.
الختام
في هذا الدرس، تمكنت بنجاح من تمكين واجهة المشرف، إنشاء تسجيل دخول للمشرف، وتسجيل نماذج Post
و Comment
مع المشرف.
واجهة Django admin هي الوسيلة التي ستتمكن من خلالها من إنشاء مشاركات ومراقبة التعليقات على مدونتك.
في الفقرة القادمة من هذه السلسلة، سنقوم بإنشاء views
لتطبيق المدونة.