Django 本身就內建了強大的管理介面 Admin,寫好 model ,透過簡單的註冊,就可以有一個可以管理、操作資料的介面,非常的方便。這個介面講求實用,所以並不花俏,對開發者來說,總是會想要讓介面好看一點,所以就有了 Grappelli 或是 django-admin-bootstrap 這類的輔助套件出現。
專案網址:https://grappelliproject.com/
poetry add django-grappelli
安裝好以後,接下來就是設定
# settings
INSTALLED_APPS = [
# ... other apps
'grappelli',
'django.contrib.admin',
# ... other apps
]
TEMPLATES = [
{
...
'OPTIONS': {
'context_processors': [
...
'django.template.context_processors.request',
...
],
},
},
]
在 settings 的 INSTALLED_APPS 加入 'grappelli' ,還有確定 templates 的 context_processors 裡有 'django.template.context_processors.request'。
這裡要特別注意的一點是,grappelli 必須在 django.contrib.admin 之前,否則進入 admin 介面時,仍會看到原來的 django admin 介面。
然後調整 urls:
# urls.py
urlpatterns = [
# ... other urls
path('grappelli/', include('grappelli.urls')), # grappelli URLS
]
這兩邊都修改好之後,別忘了執行 collectstatic
poetry run python manage.py collectstatic
至此就大功告成了,你可以執行 runserver,進入 admin 介面,看看是否生效。
Grappelli 可以調整的設定有這些:
如果你對於管理介面裡的表單輸入欄位不滿意,也可以參考 Grappelli 的 「Customization」來做出調整。
Grappelli 還有提供 Dashboard,Dashboard 是簡化版的管理介面,而且可以自訂 app / model 列表的顯示,這部份就留待有時間再來細究。
如果你想做出不一樣的管理介面,Grappelli 是個很好的輔助套件,裝上去以後,整個會煥然一新,認不出來這是 Django 的管理介面。