Django の Debug Toolbar カンタン導入
Debug Toolbar こんなに簡単に導入出来るのか!ということでメモ。最初から入れておかないと、時間がもったいないですね(;
CakePHPでいうDebugKitに相当する機能です。手順的には、Djangoの方が一手間少ない、かな?
カンタン導入手順
- Debug Toolbar APP を取得
- settings.py に記述
- Django 開発サーバーを起動
Debug Toolbar APP を取得
環境によりますが、Ubuntu と pip を利用した例は次の通りです。
Django (1.6.7)、 django-debug-toolbar (1.2.2) で確認しています。
# Ubuntu $ sudo apt-get install python-django-debug-toolbar # pip $ pip install django-debug-toolbar
settings.py に記述
普段開発しているプロジェクトだと、一行追加するだけで大丈夫だと思います。
# settings.py INSTALLED_APPS += ('debug_toolbar',)
その他、前提として次の2つがあるようです。
- DEBUG が True
- staticfiles APP が有効
- 'django.contrib.staticfiles' のロード
- STATIC_URL の指定
全部いれると、こんな感じでしょうか
DEBUG = True INSTALLED_APPS = ( # ... 'django.contrib.staticfiles', # ... 'debug_toolbar', ) STATIC_URL = '/static/'
Django 開発サーバーを起動
あとは、開発サーバーを起動するだけ。Apache などの 本番・Production環境では、設定されていても動作しないようになっているようです。ログイン画面だろうが、なんだろうがToolbar出てくるから当然ですね(最初、試してみちゃいました)
$ python manage.py runserver
(2015/1/29追記) どうも、開発サーバーをローカルホストで起動したときしか動かないようです。ちょっと見たいという悪魔のささやきに惑わされないセキュリティ対応ですね(ささやかれた人ですが>自分)。
# 動かなかった例 $ python manage.py runserver 0.0.0.0:8000
settings.pyの切替え忘れがあっても安心です(;
(2016/12/28追記) ちゃんと設定すればリモートからの接続でも対応できることがわかったので、エントリーにしました。ドキュメントが整備されてるツールは素敵ですね。
使う
Panel
プロジェクトにアクセスすると、画面右上に「DjDT」のロゴが。
クリックすれば、様々な開発に有用な情報が可視化されるようになります。views の クラス、利用template, 発行されたSQLと対応するtemplate記述など。Redirectを抑制する事も出来るようです。
Command
debugsqlshell コマンドも使えるようになります。整形されたSQL文が、ORMアクセス時に表示されるとの事。WebUIないAPP開発時も大丈夫ですね。
$ python manage.py debugsqlshell