この記事では、Djangoでは、ブラウザの画面からアプリの中の情報を表示するdjango-debug-toolbarというツールを紹介する。
django-debug-toobarを導入して設定する
django-debug-toolbarの導入には、まずpython仮想環境にインストールしよう。
以下のコマンドでインストールできる。
インストールが完了したら導入したいプロジェクトのsettings.pyに以下の設定を入れてみよう
- settings.py
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'debug_toolbar', # 追加
'basic_app',
]
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware', # 追加
]
# debug-tool-barで表示するパネル一覧、設定しなければ全て表示
DEBUG_TOOLBAR_PANELS = (
'debug_toolbar.panels.version.VersionDebugPanel',
'debug_toolbar.panels.timer.TimerDebugPanel',
'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
'debug_toolbar.panels.headers.HeaderDebugPanel',
'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
'debug_toolbar.panels.template.TemplateDebugPanel',
'debug_toolbar.panels.sql.SQLDebugPanel',
'debug_toolbar.panels.signals.SignalDebugPanel',
'debug_toolbar.panels.logger.LoggingPanel',
)
INTERNAL_IPS = ['127.0.0.1']
# debug-toolbarを表示するipアドレスです。上の設定では、ローカルのみdebug-toolbarが表示される
次に、urls.pyにdebug-toolbar用の設定を追加する。
以下のとおり記述する
- プロジェクトのurls.py
from django.contrib import admin
from django.urls import path, include
from basic_app import views
from django.conf import settings# 追加
urlpatterns = [
path('admin/', admin.site.urls),
path('', views.IndexView.as_view(), name='index'),
path('basic_app/', include('basic_app.urls', namespace='basic_app'))
]
if settings.DEBUG:# 追加
import debug_toolbar
urlpatterns = [
path('__debug__/', include(debug_toolbar.urls)),
] + urlpatterns
設定が終わればpython manage.py runserverでDjangoを立ち上げよう。
django-debug-toobarの見方
デバッグツールバーの設定が終わって立ち上げると以下のように、ブラウザ画面に右端にバーが表示される。
それぞれの以下の項目がある。
Versions | 実行しているDjango,Python,dubug_toolbarのバージョン |
Time | リクエスト実行時間 |
Settings | djangoのsettings内のパラメータ |
Header | Request Header, Response Header, WSGI environ |
SQL | 実行されたSQL, SQL実行時間 |
Static files | staticファイルのパスと読み込まれたstaticファイル一覧 |
Templates | tempateファイルのパスと読み込まれたtemplateファイル一覧 |
Cache | キャッシュが呼ばれた回数、キャッシュにヒットした回数、ヒットしなかった回数など。性能改善に利用 |
Signal | シグナル一覧 |
Logging | pythonのlogginモジュールでのアプトプット一覧 |
ちなみに、デバッグツールバーには、上記以外にもいろんなパネルがある(memcache, mongoDB等)。