Python
Django

django-grappelli を試してみる

More than 1 year has passed since last update.

「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 適用前のデフォルトの管理サイト

通常_admin_.png


django-grappelli 適用後の管理サイト(Home)

ちょっと古い感じのデザイン…

grappelli_admin_.png


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カスタマイズのドキュメント

grappelli_dashboard.png


感想

すぐに適用できる。

Dashboardをカスタマイズして本領発揮なのかもしれないけれど、デザインが古めかしいのでカスタマイズしちゃおう!という気にならなかった。

他のを試してみよう。