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

AI活用エンジニアへの道

生成AI時代のエンジニアの生き方を考えるメディア(作成途中)

  • コラム
  • 生成AI
  • プログラミング
    • Python入門
    • Flask入門
    • Django入門
  • プロフィール
Home / プログラミング / Django / Djangoでデバッグをしたい時に使う便利ツール【debug-toolbar】の導入方法、見方

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

1 django-debug-toobarを導入して設定する
2 django-debug-toobarの見方
3 関連記事

この記事では、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公式

関連記事

現役エンジニアがDjangoに関する本を5つ紹介
現役エンジニアがDjangoに関する本を5つ紹介
WindowsでDjango、Anaconda、VSCodeのインストールとDjangoを開発する環境の構築をする
WindowsでDjango、Anaconda、VSCode…
MacでDjango、Anaconda、VSCodeのインストールとDjangoを開発する環境の構築をする
MacでDjango、Anaconda、VSCodeのインス…
DjangoのFormに初期値を設定する方法
DjangoのFormに初期値を設定する方法
DjangoでModelのsave前後で処理を行うSignalのpre_save, post_saveの使い方
DjangoでModelのsave前後で処理を行うSigna…
DjangoのModelにSlugFieldを利用する。その利用方法と
DjangoのModelにSlugFieldを利用する。その…

Primary Sidebar

人気記事

  • 1
    PyCharm,IntelliJのおすすめプラグイン一覧
  • no image 2
    Python未経験だが、フリーランスの案件に採用さ…
  • 3
    ITエンジニアとしてスキルを高めるためのUdemy講…
  • 4
    アメリカのシリコンバレーでプログラミングを無…

特集記事

  • 1
    Cursorの使用のポイントとコツ(コード補完、イ…
  • 2
    ITエンジニアとしてスキルを高めるためのUdemy講…

目次

1 django-debug-toobarを導入して設定する
2 django-debug-toobarの見方
3 関連記事
StartCode ロゴ
AI時代のエンジニアを最速で育てる
法人向けIT研修で即戦力を育成しています。詳しくはお問い合わせください。
▶ 詳細はこちら
Django講座
【Udemy】Django入門講座(0からDjangoを学習: Python講座つき)
受講生6500人ほどの人気講座。<strong>View, Template, Model, Cla...
詳細 ▶

Footer

利用規約