在VirtualBox/Vagrant环境中使用django-debug-toolbar
背景
-
- 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)を追加
...
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’)の値を変数として渡して表示させる。
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))
{{ 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)”と言ったエラーメッセージが表示される)