#背景
- 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)"と言ったエラーメッセージが表示される)