سلام! امروز میخواهیم دربارهٔ اضافه کردن مدلها به محیط Django Admin صحبت کنیم. Django یک فرم ورک محبوب برای تولید وب اپلیکیشنهای قدرتمند و انعطافپذیر است. یکی از ویژگیهای جالب و کارآمد Django، پنل مدیریت آن است. این پنل به ما اجازه میدهد تا مدلهای دیتابیس خود را به راحتی مدیریت کنیم. پس بیایید ببینیم چطور میتوانیم مدلهایمان را به پنل مدیریت اضافه کنیم و از این قابلیت بهرهمند شویم.
برای اینکه مدلهایتان در پنل مدیریت Django قابل دسترس باشند، ابتدا باید آنها را در فایل admin.py مربوط به برنامهتان ثبت کنید. این کار فرآیند پیچیدهای نیست و فقط با چند خط کد انجام میشود. ابتدا به فایلی که شامل تعریف مدلهاست (معمولاً models.py) نیاز داریم. سپس باید این مدلها را به فایل admin.py وارد کرده و آنها را به کلاس مدیریت اضافه کنیم.
پنل مدیریت به شما اجازه میدهد به راحتی دادههایتان را وارد، ویرایش و حذف کنید. همچنین میتوانید فیلترها و جستجوهای قدرتمندی بر روی دادههایتان اعمال کنید. بدین ترتیب، اگر کسب و کار خود را با Django راهاندازی کردهاید، میتوانید از این ابزار برای مدیریت راحتتر اطلاعات بهرهبرداری کنید. حال بیایید با یک مثال واقعی به بررسی این موضوع بپردازیم.
فرضا ما یک مدل ساده به نام Book داریم که در آن اطلاعات کتابها شامل عنوان و نویسنده ذخیره میشود. قصد داریم این مدل را به پنل مدیریت اضافه کنیم تا بتوانیم به راحتی با دادههای آن کار کنیم. در اینجا مراحل لازم را قدم به قدم بررسی خواهیم کرد.
کد ثبت مدل در محیط مدیریت
from django.contrib import admin
from .models import Book
class BookAdmin(admin.ModelAdmin):
list_display = ('title', 'author')
admin.site.register(Book, BookAdmin)
توضیحات خط به خط کد:
from django.contrib import admin
این خط برای وارد کردن ماژول admin از Django استفاده میشود که برای مدیریت مدلها در پنل مدیریت نیاز است.
from .models import Book
اینجا مدل Book را از فایل models.py وارد میکنیم تا بتوانیم آن را به پنل مدیریت اضافه کنیم.
class BookAdmin(admin.ModelAdmin):
در این خط، یک کلاس از مدل Admin تعریف میکنیم که به ما امکان نمایش، ویرایش و مدیریت مدل Book را میدهد.
list_display = ('title', 'author')
با این خط تعیین میکنیم که کدام فیلدها از مدل Book در صفحه لیست دادهها در پنل مدیریت نمایش داده شوند.
admin.site.register(Book, BookAdmin)
در نهایت، مدل Book و کلاس مدیریت BookAdmin را به پنل مدیریت ثبت میکنیم تا قابل استفاده باشد.