LoginSignup
4
2

More than 5 years have passed since last update.

django-debug-toolbarをVirtualBox/Vagrant環境で利用

Last updated at Posted at 2016-08-14

背景

  • Djangoの開発におけるデバッグにdjango-debug-toolbarの利用を検討
  • VirtualBox環境で作成中のアプリで利用するのに詰まったので実施した設定を記録

環境

  • OS : CentOS 6.4
  • Python : 2.6.6
  • Django : 1.6
  • django-debug-toolbar : 1.3.0
  • sqlparse : 0.1.19

インストール

  • インストールの実施
    • djangoのインストールも自動で実行された
    • django 1.6で動くアプリケーションだったため、後にdjango1.6を再インストール
 # pip install django-debug-toolbar==1.3.0 
  • インストールの確認
    • 下記記の通り表示されることを確認
 # pip freeze
 Django-debug-toolbar==1.3.0

初期設定

  • "$PROJECT_DIR/setting.py"の下記項目を編集
    • DEBUG = Trueに変更
    • INSTALLED_APPに'debug_toolbar'を追加
    • INTERNAL_IPSにアクセス元IP(REMOTE_ADDR)を追加
$PROJECT_DIR/setting.py
...
DEBUG = True

INSTALLED_APPS = (
...
'django.contrib.staticfiles',
'debug_toolbar',   ← django.contrib.staticfilesより後の行に記述
...
)
...
INTERNAL_IPS = ('192.168.56.1')   ← サーバへのアクセス元IPを定義。Virtual Boxの場合、GWを経由するので、localからアクセスした場合、GWのアドレスがアクセス元となる。

参考 : REMOTE_ADDRの確認方法

  • 作成済みのhtmlファイルに、request.META.get('REMOTE_ADDR')の値を変数として渡して表示させる。
example_view.py
from django.shortcuts import render,render_to_response
from django.template import RequestContext

def get_client_ip(request):
    return render_to_response('test.html', {
        ip_addr = request.META.get('REMOTE_ADDR'),
    }, Context_instance=RequestContext(request))
test.html
{{ ip_addr }}

サーバの起動

python manage.py runserver 0.0.0.0:8000

ページの確認

  • 各アプリケーションのトップページの右側にDebug用のツールバーが表示される。

インストールで詰まった所

  • REMOTE_ADDRをINTERNAL_IPSに追加しないと表示されないこと
  • REMOTE_ADDRが127.0.0.1ではなく、VirtualBoxのGWアドレスであること
  • sqlparseのVersion(別Versionだと、"Exception Value: process() takes exactly 3 arguments (2 given)"と言ったエラーメッセージが表示される)
4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2