• Skip to main content
  • Skip to secondary menu
  • Skip to primary sidebar
  • Skip to footer

Tech Life

エンジニアの生き方を考えるメディア

  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • 利用規約
  • プロフィール
You are here: Home / IT・プログラミング / Python / フレームワーク / Django / Djangoでデバッグをしたい時に使う便利ツール【debug-toolbar】の導入方法、見方

Djangoでデバッグをしたい時に使う便利ツール【debug-toolbar】の導入方法、見方

2019年5月6日 by 9nmatsumoto

この記事では、Djangoでは、ブラウザの画面からアプリの中の情報を表示するdjango-debug-toolbarというツールを紹介する。


django-debug-toobarを導入して設定する

django-debug-toolbarの導入には、まずpython仮想環境にインストールしよう。
以下のコマンドでインストールできる。

pip install django-debug-toolbar

インストールが完了したら導入したいプロジェクトのsettings.pyに以下の設定を入れてみよう

  • settings.py
INSTALLED_APPS = [
    '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等)。

debug-toolbar公式

Filed Under: Django

Primary Sidebar

注目記事

ITエンジニアとしてスキルを高めるためのUdemy講座一覧(格安クーポン付き)

イメージ画像

スポンサーリンク

Footer

格安学習講座

ITエンジニアとしてスキルを高めるためのUdemy講座一覧(格安クーポン付き)

20時間以上のコースが2000円以内で購入して、一つの分野をマスターできます!!