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

پکیج Django Grappelli

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

اضافه کردن این پکیج به یک پروژه ی جنگویی بصورت زیر اتفاق میفته.

نصب پکیج:

Shell


(venv) > pip install django-grappelli


اضافه کردنش به لیست اَپ ها:

Code


# settings.py

INSTALLED_APPS = (
'grappelli',
'django.contrib.admin',

)


اضافه کردن URL های پکیج به مسیرهای پروژه:

Code


# urls.py

from django.urls import path, include

urlpatterns = [
path("grappelli/", include("grappelli.urls")),
path("admin/", admin.site.urls),
]


اضافه کردن context processor به تنظیمات TEMPLATES :

Code


# settings.py

...
TEMPLATES = [
{
...
'OPTIONS': {
'context_processors': [
...
'django.template.context_processors.request',
...
],
},
},
]
...


جمع کردن فایلهای استاتیک (در فاز پروداکشن):

Shell


> python manage.py collectstatic


تصاویری از پنل اَدمین بعد از تکمیل مراحل اضافه کردن پکیج به پروژه:

صفحه ی لاگین:

Grappelli admin login page

داشبورد اَدمین:

Grappelli admin dashboard

مدل Users :

Grappelli admin users list

پکیج Djagno Material Administartion

این پکیج بمنظور استایل دهی به پنل اَدمین مورد استفاده قراره میگیره و بر اساس Material Design توسعه داده شده.

اضافه کردن این پکیج به یک پروژه ی جنگویی بصورت زیر اتفاق میفته.

نصب پکیج:

Shell


(venv) > pip install django-material-admin


موقع اضافه کردنش به لیست اَپ ها، به جای " django.contrib.admin " موارد زیر نوشته میشن:

Code


# settings.py

...
INSTALLED_APPS = (
'material',
'material.admin',
...
)
...


برای اضافه کردن URL های این پکیج لازم نیست تغییری در فایل urls.py بوجود بیارید:

Code


# urls.py

from django.contrib import admin
from django.urls import path


urlpatterns = [
path('admin/', admin.site.urls),
]


نهایتا مدلهای پروژه خودتون رو رجیستر کنید:

Code


# admin.py

from django.contrib import admin

from .models import Example


class ExampleAdmin(admin.ModelAdmin):
list_display = [
"example_text",
]


admin.site.register(Example, ExampleAdmin)


تصاویری از پنل اَدمین بعد از تکمیل مراحل اضافه کردن پکیج به پروژه:

صفحه ی لاگین:

Materialistic admin login page

داشبورد اَدمین:

Materialistic admin dashboard

مدل Users :

Materialistic admin users list

پکیج Django Semantic UI admin theme

این پکیج بر اساس فریمورک Semantic UI توسعه داده شده و تِم رابط کاربری اَدمین رو تغییر میده.

اضافه کردن این پکیج به یک پروژه ی جنگویی بصورت زیر اتفاق میفته.

نصب پکیج:

Shell


(venv) > pip install django-semantic-admin


اضافه کردنش به لیست اَپ ها:

Code


# settings.py

INSTALLED_APPS = [
"semantic_admin",
"django.contrib.admin",
...
]


نحوه ی استفاده:

به جای: " admin.ModelAdmin " ، " admin.StackedInline " و " admin.TabularInline " ؛ باید به ترتیب از: " SemanticModelAdmin " ، " SemanticStackedInline " و " SemanticTabularInline " استفاده بشه.

تصاویری از پنل اَدمین بعد از تکمیل مراحل اضافه کردن پکیج به پروژه:

صفحه ی لاگین:

Semantic admin login page

داشبورد اَدمین:

Semantic admin dashboard

مدل Users :

Semantic admin users list

پکیج Django JET Reboot

این پکیج در خصوص تغییر ظاهر و بهبود کاربردهای پنل اَدمین به کمک ما میاد.

اضافه کردن این پکیج به یک پروژه ی جنگویی بصورت زیر اتفاق میفته.

نصب پکیج:

Shell


(venv) > pip install django-jet-reboot


اضافه کردنش به لیست اَپ ها:

Code


# settings.py

INSTALLED_APPS = (
...
'jet.dashboard',
'jet',
'django.contrib.admin',
...
)


اضافه کردن URL های پکیج به مسیرهای پروژه:

Code


# urls.py

urlpatterns = patterns(
'',
path('jet/', include('jet.urls', 'jet')), # Django JET URLS
path('jet/dashboard/', include('jet.dashboard.urls', 'jet-dashboard')), # Django JET dashboard URLS
path('admin/', include(admin.site.urls)),
...
)


اضافه کردن context processor به تنظیمات TEMPLATES :

Code


# settings.py

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
...
'django.template.context_processors.request',
...
],
},
},
]


ایجاد جداول دیتابیس مربوطه:

Shell


(venv) > python manage.py migrate jet
(venv) > python manage.py migrate dashboard


جمع کردن فایلهای استاتیک(در فاز پروداکشن):

Shell


> python manage.py collectstatic


تصاویری از پنل اَدمین بعد از تکمیل مراحل اضافه کردن پکیج به پروژه:

صفحه ی لاگین:

Jetify admin login page

داشبورد اَدمین:

Jetify admin dashboard

مدل Users :

Jetify admin users list

جمع بندی

در این بخش سراغ بررسی و معرفی مختصر چند پکیج جنگویی رفتیم که مختص تغییر استایل و بهبود کاربرد های پنل اَدمین هستن و با طریقه ی اضافه کردنشون به پروژه جنگویی خودمون آشنا شدیم. مطالب این بخش از مابقی بخش های فصل جداست و بیشتر جنبه ی آشنایی داشتن.