※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】 Djangoはエラースクリーンが非常に充実しています。デバッグモードで例外が発生すると、エラースタックの各ポイントでの変数の中身や、近辺のソースコードを簡単に見られるようになっています。
なので、面倒なデバッグ環境の用意や、ソースコード中へのデバッグ出力の埋め込みは殆どせず、無理矢理例外を送出して中身を見たりしていました。
しかししかししかし、DjangoConでデバッグ用のツールに関する話が出たと言うことで、ちゃかちゃか便利なものを作った人がいます。
debug_toolbar というDjango用のアプリケーションです。
モード・Djangoのバージョン、実行にかかった時間、Httpヘッダ、Requestの値、SQLのデバッグアウトと実行時間(EXPLAINも表示できる)、キャッシュの状態、レンダリングに利用したテンプレート情報に関するデバッグ情報を参照できます。
Djangoのテンプレートは、継承できること、検索順によって利用するテンプレートを変えられること、が利点としてあるために、実際に利用しているテンプレートの情報を見られるのは非常に便利だと思います。
インストールは非常に簡単で、 githubのプロジェクトページ から、ファイルをダウンロードして、解凍したディレクトリの中のdebug_toolbarディレクトリをPythonパスの通ったところに配置します。
次にdebug_toolbarを使いたいプロジェクトの settings.py をいじるだけです。
接続可能なIPアドレスの設定を設定します。
INTERNAL_IPS = ('127.0.0.1',)
INSTALLED_APPSに 'debug_toolbar', の追加
MIDDLEWARE_CLASSESの最後に 'debug_toolbar.middleware.DebugToolbarMiddleware', の追加
利用する機能の設定
DEBUG_TOOLBAR_PANELS = (
'debug_toolbar.panels.version.VersionDebugPanel',
'debug_toolbar.panels.timer.TimerDebugPanel',
'debug_toolbar.panels.headers.HeaderDebugPanel',
'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
'debug_toolbar.panels.sql.SQLDebugPanel',
'debug_toolbar.panels.cache.CacheDebugPanel',
'debug_toolbar.panels.template.TemplateDebugPanel',
)
メニュー自体がプラガブルにできてるっぽいので、自分用のpanelを作ってみても面白いかもしれません。