LoginSignup
5
3

More than 5 years have passed since last update.

django-grappelli を試してみる

Last updated at Posted at 2018-01-07

「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をカスタマイズして本領発揮なのかもしれないけれど、デザインが古めかしいのでカスタマイズしちゃおう!という気にならなかった。
他のを試してみよう。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3