SIGMA-SE Tech Blog

SIGMA-SE Tech Blog

Django - Django Debug Toolbar : 導入手順と設定方法

目的

この記事では、Django Debug Toolbarの導入手順と設定方法について説明する。

実施内容

django-debug-toolbarの導入

django-debug-toolbarは、開発時に必要になってくるセッション情報 リクエスト/レスポンス情報、そして実行したSQLなどリアルタイムで様々な情報を確認できるプラグイン。

  • django-debug-toolbarのインストール
    ここでは、仮想環境上でDjangoが動いているため、仮想環境にdjango-debug-toolbarをインストールする。
    ※ 詳細は、Djangoインストールを参照。
    $ source /var/www/vops/bin/activate
    (vops) $ pip install django-debug-toolbar
    Collecting django-debug-toolbar
       Downloading https://files.pythonhosted.org/packages/97/c6/523fc2ca98119d21c709bbc47217b1d5fd17c6f9449ef32490889363d97d/django_debug_toolbar-1.10.1-py2.py3-none-any.whl (207kB)
        100% |################################| 215kB 10.0MB/s
    Collecting sqlparse>=0.2.0 (from django-debug-toolbar)
      Downloading https://files.pythonhosted.org/packages/65/85/20bdd72f4537cf2c4d5d005368d502b2f464ede22982e724a82c86268eda/sqlparse-0.2.4-py2.py3-none-any.whl
     Requirement already satisfied: Django>=1.11 in /var/www/vops/lib/python3.6/site-packages (from django-debug-toolbar) (2.0.2)
     Requirement already satisfied: pytz in /var/www/vops/lib/python3.6/site-packages (from Django>=1.11->django-debug-toolbar) (2018.3)
     Installing collected packages: sqlparse, django-debug-toolbar
     Successfully installed django-debug-toolbar-1.10.1 sqlparse-0.2.4
     You are using pip version 10.0.1, however version 18.1 is available.
     You should consider upgrading via the 'pip install --upgrade pip' command.
    
    上記でインストールが完了。

django-debug-toolbarの設定追加

  • settings.pyの設定
    settings.pyの最低限必要な設定を変更する。

    • DEBUGモードの変更
      DEBUGTrueに変更する。

      $ vim /var/www/vops/ops/ops/settings.py
       … (省略)…
       DEBUG = True    # DEBUGモードをTrueに変更
       … (省略)…
      
    • INSTALLED_APPSへ追加
      INSTALLED_APPS'debug_toolbar'を追記する。 'debug_toolbar''django.contrib.staticfiles'よりも後ろになるよう注意。

      $ vim /var/www/vops/ops/ops/settings.py
       … (省略)…
       INSTALLED_APPS = [
           'macuos',
           'django.contrib.admin',
           'django.contrib.auth',
           'django.contrib.contenttypes',
           'django.contrib.sessions',
           'django.contrib.messages',
           'django.contrib.staticfiles',
           'debug_toolbar'    # ← 追記:'django.contrib.staticfiles' よりも後ろに設定
       ]
       … (省略)…
      
    • MIDDLEWAREへ追加
      MIDDLEWARE'debug_toolbar.middleware.DebugToolbarMiddleware'を追記する。

      $ vim /var/www/vops/ops/ops/settings.py
       … (省略)…
       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'   # ← 追記
       ]
       … (省略)…
      
    • INTERNAL_IPSの追加
      INTERNAL_IPSを追記する。

      $ vim /var/www/vops/ops/ops/settings.py
       … (省略)…
      INTERNAL_IPS = ['127.0.0.1']   # 追加
       … (省略)…
      

      ※ INTERNAL_IPSは、このIPアドレスで接続されたときのみ、django-debug-toolbar が表示される設定項目であるため、ローカル開発時は、localhost の '127.0.0.1' を設定する。
      ローカルではない別サーバーでDjangoを動かしている場合は、開発マシンのグローバルIPアドレスを入力すること。

  • urls.pyの設定 urlpatternsDebug Toolbarを追加する。

    • urlpatternsDebug Toolbarを追加
      $ vim /var/www/vops/ops/ops/urls.py
       … (省略)…
       if settings.DEBUG:    # この if 文 (5STEP) を追加する。
           import debug_toolbar
           urlpatterns = [
               url(r'^__debug__/', include(debug_toolbar.urls))
           ] + urlpatterns
       … (省略)…
      

    以上で設定は完了。

Debug Toolbarの表示確認

管理者画面や作成したWebアプリの画面に接続すると右側にDebug Toolbarが表示される。 pid10_1

  • CSSが効いてない場合の対処 staticファイルのロード先を別フォルダに設定している場合は、CSSが効いてない状態で表示されている可能性がある。
    その場合は、下記コマンドでインストール先を特定し、その直下にあるdebug_toolbar/static/debug_toolbarディレクトリをstaticファイルのロード先ディレクトリ直下にコピーすること。
    $ pip show django-debug-toolbar
     … (省略)…
     Location: /var/www/vops/lib/python3.6/site-packages    # django-debug-toolbar のインストール先を確認
     … (省略)…
    $ cp -r /var/www/vops/lib/python3.6/site-packages/debug_toolbar/static/debug_toolbar [staticファイルのロード先フォルダ]
    


Copyright SIGMA-SE All Rights Reserved.
s-hama@sigma-se.jp