چگونه یک سایت مدیریت جنگو را راه اندازی کنیم
سایت مدیریت جنگو روشی ساده و در عین حال موثر را برای مدیریت مدل های خود و ساخت پروژه های پایدار در اختیار توسعه دهندگان قرار می دهد. این به شما امکان می دهد رکوردهایی را از برنامه های خود ایجاد، مشاهده، به روز رسانی و حذف کنید.
در این مقاله یاد می گیرید که چگونه models
خود را در سایت ادمین خود ثبت کنید، حساب کاربری سوپرکاربر خود را بسازید، وارد سایت خود شوید و از سایت خود استفاده کنید و سایت مدیریت خود را شخصی سازی کنید.
به عنوان یک توسعه دهنده، اگر به ساخت پروژه جنگو فکر می کنید یا در حال ساخت یک پروژه هستید، ایجاد سایت ادمین جنگو مرحله بعدی پس از ایجاد مدل جنگو شما است.
نحوه ثبت مدل های خود
مدل های خود را در فایل admin.py
خود ثبت کنید. با ثبت models
خود، جنگو را قادر میسازید تا فرمهایی را بر اساس اطلاعات موجود در مدل تولید کند. همچنین به عنوان شکلی از اسناد پروژه شما عمل می کند و به شما امکان می دهد داده ها را به صورت ایمن مدیریت کنید.
در زیر نحوه ثبت models
خود آورده شده است:
from django.contrib import admin from .models import Author, Genre, Book, BookInstance, Language admin.site.register(Book) admin.site.register(Author) admin.site.register(Genre) admin.site.register(BookInstance) admin.site.register(Language)
خط اول django.contrib.admin
را وارد می کند. ادمین جنگو را برای پروژه شما فعال می کند و به شما امکان می دهد از یک URL خاص (/admin/) در مرورگر وب خود به آن دسترسی داشته باشید.
خط دوم کد models
شما را وارد می کند، در حالی که چهار خط آخر کد، برای ثبت هر یک از آنها با admin.site.register
تماس بگیرید.
بسته به اینکه پروژه شما چقدر پیچیده است، models
شما می توانند بیشتر یا کمتر باشند.
نحوه ایجاد سوپرکاربر
یک حساب کاربری superuser به شما امکان می دهد وارد سایت مدیریت شوید، رکورد ایجاد کنید و اشیاء را مدیریت کنید.
دستور زیر یک حساب کاربری superuser با دسترسی کامل به سایت مدیریت و تمام مجوزهای مورد نیاز ایجاد می کند:
# For macOS/Linux python3 manage.py createsuperuser # For Windows py manage.py createsuperuser
یک پیام برای وارد کردن نام کاربری، ایمیل و رمز عبور دریافت خواهید کرد. پس از تکمیل این دستور، شما یک حساب کاربری superuser خواهید داشت و می توانید سرور توسعه خود را مجددا راه اندازی کنید و جزئیات ورود خود را با استفاده از دستور زیر تست کنید:
# For macOS/Linux python3 manage.py runserver # For Windows py manage.py runserver
هنگام اجرای این دستورات، مطمئن شوید که در همان دایرکتوری manage.py
هستید.
نحوه ورود و استفاده از سایت خود
برای ورود به سایت خود، URL /admin
(یا http://127.0.0.1:8000/admin ) خود را در مرورگر خود باز کنید. صفحه ای را مشاهده خواهید کرد که به شکل زیر است:
مشخصات اکانت سوپرکاربر خود را وارد کنید، روی ورود کلیک کنید و صفحه جدیدی را مشاهده خواهید کرد که به شکل زیر است:
صفحه جدید بالا، سایت مدیریت جنگو است که تمامی مدل های ثبت شده را نمایش می دهد.
برای شروع ایجاد رکوردهای خود، روی پیوند گفت ن در کنار هر مدل کلیک کنید.
پس از گفت ن رکورد به یک مدل، روی SAVE
، Save and add another
، یا Save and continue editing
کلیک کنید. برای ذخیره رکورد شما صفحه نمایش شما باید مانند تصویر زیر باشد:
اسکرین شات های بالا فقط نمونه هایی از ظاهر سایت مدیریت جنگو را نشان می دهند. با توجه به نیاز پروژه شما، مدل ها و زمینه های شما ممکن است متفاوت از نمونه های این مقاله به نظر برسند.
چگونه سایت مدیریت خود را سفارشی کنیم
جنگو با اطلاعات مدل هایی که ثبت نام کرده اید، سایت مدیریت شما را ایجاد می کند. همچنین به شما این امکان را می دهد که رابط مدیریت خود را مطابق با نیازهای پروژه خود سفارشی کنید.
بخش های زیر به شما نشان می دهد که چگونه این سفارشی سازی ها را انجام دهید.
نحوه ثبت کلاس ModelAdmin
کلاس ModelAdmin
مدلی را در رابط مدیریت شما نشان می دهد. با ثبت این کلاس، می توانید رفتار یک مدل خاص را در رابط مدیریت خود سفارشی کنید. همچنین پایگاه کد شما را مرتب نگه می دارد و نگهداری آن را آسان تر می کند:
# Comment out your original registeration # admin.site.register(Author) # Define the admin class class AuthorAdmin(admin.ModelAdmin): pass # Register the admin class with the model it represents admin.site.register(Author, AuthorAdmin)
قطعه کد بالا یک کلاس ادمین خالی را برای مدل Author تعریف و ثبت می کند.
همیشه قبل از ثبت نام کلاس ModelAdmin
، ثبت نام اصلی خود را نظر دهید.
چگونه نمای فهرست خود را سفارشی کنیم
با توجه به مدل بالا، اگر چندین نویسنده دارید یا نیاز به نمایش اطلاعات اضافی در مورد نویسندگان خود دارید، روش list_display
به شما امکان می دهد نمای فهرست خود را سفارشی کنید.
در زیر نمونه ای از نحوه سفارشی سازی رابط خود با استفاده از روش list_display
آورده شده است:
class AuthorAdmin(admin.ModelAdmin): list_display = ('last_name', 'first_name', 'date_of_birth', 'date_of_death',)
قطعه کد بالا کلاس AuthorAdmin
و چندین نام فیلد را که می خواهید در فهرست نمایش دهید، به ترتیبی که شما نیاز دارید نشان می دهد.
شما همیشه باید این فیلدها را در مدل جنگو خود (فایل models.py
) مشخص کنید. در غیر این صورت نمایش داده نمی شوند.
نتیجه باید یک رابط مانند شکل زیر باشد:
با استفاده از این روش، می توانید نمای فهرست هر مدلی را مطابق با نیازهای پروژه خود سفارشی کنید.
نحوه سفارشی کردن نمای جزئیات
جنگو نماهای جزئیات را به طور پیش فرض به ترتیبی که در مدل تعریف شده اند به صورت عمودی قرار می دهد. اما شما می توانید این مورد را متناسب با نیاز خود تغییر دهید و تصمیم بگیرید که کدام فیلدها نمایش داده شوند یا حذف شوند.
می توانید این کار را با گفت ن ویژگی field
به کلاس مدیریت خود انجام دهید. مثلا:
class AuthorAdmin(admin.ModelAdmin): list_display = ('last_name', 'first_name', 'date_of_birth', 'date_of_death') fields = ['first_name', 'last_name', ('date_of_birth', 'date_of_death')]
ویژگی فیلد در قطعه کد بالا ترتیب فیلدهای شما را تغییر می دهد. first_name
اکنون قبل از last_name
آمده است. فیلدها به صورت پیشفرض به صورت عمودی نمایش داده میشوند، اما با گروهبندی آنها در یک تاپیک (در قسمت تاریخ) اکنون به صورت افقی نمایش داده میشوند.
نمای جزئیات نویسنده اکنون باید به شکل زیر ظاهر شود:
همچنین، میتوانید از ویژگی exclude
برای حذف/حذف فیلدها از فرم استفاده کنید.
نتیجه
راه اندازی سایت مدیریت جنگو برای مدیریت موثر مدل های خود در پروژه جنگو مهم است. دانستن نحوه استفاده و سفارشی کردن رابط جنگو، کیفیت و قابلیت نگهداری پروژه شما را بهبود می بخشد.
این مقاله نحوه راه اندازی سایت مدیریت خود و نحوه سفارشی سازی آن را برای مطابقت با نیازهای پروژه شرح می دهد. کد نویسی مبارک!
ارسال نظر