لوحة إدارة Django
أدر البيانات باستخدام موقع الإدارة
لوحة إدارة Django درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.
لوحة الإدارة المدمجة
تأتي Django مرفقةً بـلوحة إدارة قوية: وهي واجهة ويب تُنشأ تلقائيًا لإدارة بياناتكم. وتُعد من أكثر ميزات Django شعبية.
# The admin gives you CRUD screens
# for your models with zero UI code
print('Django admin manages data out of the box')الإدارة مثبتة مسبقًا
توجد لوحة الإدارة في django.contrib.admin، وهي مُدرجة في INSTALLED_APPS افتراضيًا، وموصولة بملف urls.py في المشروع.
# mysite/urls.py
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
print('admin/ is mapped to the admin site')إنشاء مستخدم متميز
لتسجيل الدخول، تحتاجون إلى حساب إدارة. أنشئوا حسابًا باستخدام python manage.py createsuperuser واتبعوا التعليمات الظاهرة.
# python manage.py createsuperuser
# Username: admin
# Email: admin@example.com
# Password: ********
print('createsuperuser makes an admin login')تسجيل الدخول
شغّلوا الخادم وانتقلوا إلى /admin/. سجّلوا الدخول باستخدام بيانات اعتماد المستخدم المتميز للوصول إلى لوحة المعلومات.
# python manage.py runserver
# Open http://127.0.0.1:8000/admin/
print('Visit /admin/ and log in')تسجيل نموذج
لا تظهر النماذج في لوحة الإدارة حتى تسجلوها. نفذوا ذلك في admin.py الخاص بالتطبيق باستخدام admin.site.register().
# blog/admin.py
from django.contrib import admin
from .models import Post
admin.site.register(Post)
print('Post now appears in the admin')إدارة البيانات
بعد التسجيل، تحصلون على شاشات CRUD كاملة: عرض جميع الصفوف، وإضافة صفوف جديدة، وتعديلها وحذفها، وكل ذلك من دون كتابة أي نماذج.
# In the admin you can:
# - view a list of all Posts
# - add a new Post
# - edit or delete existing ones
print('Full CRUD with no extra code')التخصيص باستخدام ModelAdmin
تخصص فئة ModelAdmin طريقة ظهور النموذج. ويحدد list_display الأعمدة التي تظهر في عرض القائمة.
from django.contrib import admin
from .models import Post
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'created', 'published')
admin.site.register(Post, PostAdmin)
print('list_display picks the columns')البحث وعمليات التصفية
أضيفوا search_fields إلى مربع البحث، وlist_filter إلى مرشحات الشريط الجانبي للتنقل في مجموعات البيانات الكبيرة.
from django.contrib import admin
from .models import Post
class PostAdmin(admin.ModelAdmin):
search_fields = ('title',)
list_filter = ('published',)
admin.site.register(Post, PostAdmin)
print('Search box and sidebar filters added')المزخرف register
يمثل المزخرف @admin.register() بديلًا واضحًا لاستدعاء admin.site.register() بشكل منفصل.
from django.contrib import admin
from .models import Post
@admin.register(Post)
class PostAdmin(admin.ModelAdmin):
list_display = ('title',)
print('@admin.register is the decorator form')أهمية __str__
عرّفوا __str__ في النموذج حتى تعرض لوحة الإدارة تسمية مقروءة بدلًا من 'Post object (1)'.
from django.db import models
class Post(models.Model):
title = models.CharField(max_length=200)
def __str__(self):
return self.title
print('__str__ gives a readable admin label')الأذونات
تلتزم لوحة الإدارة بأذونات المستخدمين. ويمكنكم إنشاء مستخدمين من فئة الموظفين بصلاحيات محدودة، حتى لا يمتلك الجميع صلاحيات المستخدم المتميز الكاملة.
# Staff users (is_staff=True) can access the admin
# Permissions control which models they can edit
print('Permissions limit admin access')اختبار سريع
اختبروا مدى معرفتكم بلوحة الإدارة.
مراجعة
استخدمتم لوحة إدارة Django لإدارة البيانات.
- لوحة الإدارة مدمجة ومرتبطة بالمسار
/admin/ - أنشئوا حسابًا باستخدام
createsuperuser - سجّلوا النماذج في
admin.pyللحصول على شاشات CRUD - تخصص
ModelAdminالأعمدة والبحث وعمليات التصفية - عرّفوا
__str__للحصول على تسميات مقروءة؛ وتحد الأذونات من الوصول
الأسئلة الشائعة
هل درس «لوحة إدارة Django» مجاني؟
نعم — نص درس «لوحة إدارة Django» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.
ماذا ستتعلم في «لوحة إدارة Django»؟
أدر البيانات باستخدام موقع الإدارة تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟
لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «لوحة إدارة Django»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟
نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المشروعات والتطبيقات
- النماذج وعمليات الترحيل
- واجهات العرض وعناوين URL
- لوحة إدارة Django