「Djangoの管理インターフェースのためのすばらしい肌。」(Google翻訳)だそうです。
Django Packages の管理サイトインターフェース部門では1番使われてそうなので試してみることに。
基本的にドキュメント に従って設定するだけ。
使用した環境
Windows10
Python 3.5.4
Django 1.11.8
django-grappelli-2.10.1
インストール
> pip install django-grappelli
設定
settings.py
INSTALLED_APPS に grappelli を追加。
INSTALLED_APPS = [
# TODO for grappelli
'grappelli',
'django.contrib.admin',
...
]
TEMPLATES に コンテキストプロセッサを追加。デフォルトで入ってますが、なければ追加。
TEMPLATES = [
{
...
'OPTIONS': {
'context_processors': [
...
'django.template.context_processors.request',
...
],
},
},
]
url.py
urlパターンを追加。このurlは関連検索やオートコンプリートに使用するらしい。adminサイトのurlは変わりません。
urlpatterns = [
# TODO for grappelli
url(r'^grappelli/', include('grappelli.urls')),
url(r'^admin/', admin.site.urls),
]
collectstaticコマンド実行
今回はローカル環境だけなのでこれは不要。
管理サイトを起動
デフォルトの管理サイト(Home)
比較のため django-grappelli 適用前のデフォルトの管理サイト
django-grappelli 適用後の管理サイト(Home)
ちょっと古い感じのデザイン…
Dashbordを設定
settings.py
INSTALLED_APPS に grappelli.dashboard を追加。以下の順番にする必要があるらしい。
INSTALLED_APPS = [
'django.contrib.contenttypes',
# TODO: for grappelli
'grappelli.dashboard',
'grappelli',
'django.contrib.admin',
...
]
dashboard.py を作成
コマンドプロンプトでプロジェクトディレクトリに移動し、以下のコマンドを実行して dashboard.py を作成。
> python manage.py customdashboard
再度 settings.py
上で作成した dashboard.py に CustomIndexDashboard というクラスがあるので、GRAPPELLI_INDEX_DASHBOARD にこのクラス名を設定する。
# TODO: for grappelli
GRAPPELLI_INDEX_DASHBOARD = 'dashboard.CustomIndexDashboard'
管理サイトを起動 (Dashboard適用後)
カスタマイズ未のDashboardだと以下の感じになる。上で作成した dashboard.py を変更してカスタマイズしていくみたい。dashboardカスタマイズのドキュメント。
感想
すぐに適用できる。
Dashboardをカスタマイズして本領発揮なのかもしれないけれど、デザインが古めかしいのでカスタマイズしちゃおう!という気にならなかった。
他のを試してみよう。