سایت مدیریت جنگو روشی ساده و در عین حال موثر را برای مدیریت مدل های خود و ساخت پروژه های پایدار در اختیار توسعه دهندگان قرار می دهد. این به شما امکان می دهد رکوردهایی را از برنامه های خود ایجاد، مشاهده، به روز رسانی و حذف کنید.

در این مقاله روش ثبت نام خود را یاد خواهید گرفت models با سایت مدیریت خود، حساب کاربری ابرکاربر خود را ایجاد کنید، وارد شوید و از سایت خود استفاده کنید و سایت مدیریت خود را سفارشی کنید.

به عنوان یک توسعه دهنده، اگر به فکر ساختن یک پروژه جنگو هستید یا در آن هستید process در ساخت یک پروژه، ایجاد سایت مدیریت جنگو مرحله بعدی بعد از ایجاد مدل جنگو شما است.

روش ثبت مدل های خود

مدل های خود را در خود ثبت کنید 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.

روش ورود و استفاده از سایت خود

برای ورود به سایت خود، سایت خود را باز کنید /admin URL (یا http://127.0.0.1:8000/admin) در مرورگر شما. الف را خواهید دید page که شبیه این است:

پیشنهاد می‌کنیم بخوانید:  ویژگی های پنهان پایتون
اسکرین شات--23-
ورود به سیستم مدیریت جنگو page.

مشخصات اکانت سوپرکاربر خود را وارد کنید، روی ورود کلیک کنید و یک صفحه جدید خواهید دید page که شبیه این است:

اسکرین شات--24-
خانه مدیر جنگو page.

جدید page در بالا سایت مدیریت جنگو وجود دارد که تمام مدل های ثبت شده را نمایش می دهد.
برای شروع ایجاد رکوردهای خود، روی پیوند افزودن در کنار هر مدل کلیک کنید.

پس از افزودن رکورد به مدل، کلیک کنید روی SAVE، Save and add another، یا Save and continue editing برای ذخیره رکورد شما صفحه نمایش شما باید مانند تصویر زیر باشد:

اسکرین شات--26-
3 گزینه ذخیره روی سایت مدیریت جنگو

اسکرین شات های بالا فقط نمونه هایی از ظاهر سایت مدیریت جنگو را نشان می دهند. با توجه به نیاز پروژه شما، مدل ها و زمینه های شما ممکن است متفاوت از نمونه های این مقاله به نظر برسند.

چگونه سایت مدیریت خود را سفارشی کنیم

جنگو با اطلاعات مدل هایی که ثبت نام کرده اید، سایت مدیریت شما را ایجاد می کند. همچنین به شما این امکان را می دهد که رابط مدیریت خود را مطابق با نیازهای پروژه خود سفارشی کنید.

بخش های زیر به شما نشان می دهد که چگونه این سفارشی سازی ها را انجام دهید.

روش ثبت نام a ModelAdmin کلاس

آ ModelAdmin class نشان دهنده یک مدل در رابط مدیریت شما است. با ثبت این کلاس، می توانید رفتار یک مدل خاص را در رابط مدیریت خود سفارشی کنید. همچنین پایگاه کد شما را مرتب نگه می دارد و نگهداری آن را آسان تر می کند:

# 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 تعریف و ثبت می کند.

پیشنهاد می‌کنیم بخوانید:  اپراتور Null Coalescing در جاوا اسکریپت با ECMAScript 2020 هنگام کار در چرخه عمر درخواست-پاسخ، می‌خواهید مطمئن شوید که یک پاسخ با بدن مورد نظر - یا حداقل یک پاسخ آموزنده دریافت می‌شود تا کلاینت درخواست کننده داده در حلقه باقی بماند. در صورت وجود مقادیر تهی، احتمالاً می خواهید نتیجه متفاوتی را برگردانید.

همیشه قبل از ثبت نام اصلی خود را نظر دهید ModelAdmin کلاس

چگونه نمای لیست خود را سفارشی کنیم

با توجه به مدل بالا، اگر چندین نویسنده دارید یا نیاز به نمایش اطلاعات اضافی درباره نویسندگان خود دارید، list_display روش به شما امکان می دهد نمای لیست خود را سفارشی کنید.

در زیر مثالی از روش سفارشی کردن رابط کاربری خود با استفاده از list_display روش:

class AuthorAdmin(admin.ModelAdmin):
    list_display = ('last_name', 'first_name', 'date_of_birth', 'date_of_death',)

قطعه کد بالا نشان می دهد AuthorAdmin کلاس و چند تا از نام فیلدهایی که می خواهید در لیست نمایش داده شوند، به ترتیبی که نیاز دارید.

شما همیشه باید این فیلدها را در مدل جنگو خود مشخص کنید (models.py فایل). در غیر این صورت نمایش داده نمی شوند.

نتیجه باید یک رابط مانند شکل زیر باشد:

اسکرین شات--27-
نتیجه سفارشی سازی نمای لیست.

با استفاده از این روش، می توانید نمای لیست هر مدلی را مطابق با نیازهای پروژه خود سفارشی کنید.

روش سفارشی کردن نمای جزئیات

جنگو نماهای جزئیات را به طور پیش فرض به ترتیبی که در مدل تعریف شده اند به صورت عمودی قرار می دهد. اما شما می توانید این مورد را متناسب با نیاز خود تغییر دهید و تصمیم بگیرید که کدام فیلدها نمایش داده شوند یا حذف شوند.

شما می توانید این کار را با اضافه کردن 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. فیلدها به صورت پیش‌فرض به صورت عمودی نمایش داده می‌شوند، اما با گروه‌بندی آن‌ها در یک تاپیک (در قسمت تاریخ) اکنون به صورت افقی نمایش داده می‌شوند.

نمای جزئیات نویسنده اکنون باید به شکل زیر ظاهر شود:

اسکرین شات--28-
نتیجه سفارشی سازی نمای جزئیات.

همچنین، می توانید از exclude ویژگی برای حذف/حذف فیلدها از فرم.

نتیجه

راه اندازی سایت مدیریت جنگو برای مدیریت موثر مدل های خود در پروژه جنگو مهم است. دانستن روش استفاده و سفارشی کردن رابط جنگو، کیفیت و قابلیت نگهداری پروژه شما را بهبود می بخشد.

این مقاله روش راه اندازی سایت مدیریت خود و روش سفارشی سازی آن را برای مطابقت با نیازهای پروژه شرح می دهد. کد نویسی مبارک!