[RFDP] django-debug-toolbar

RFDP : Raccoony's Favorite Django Plugins

오늘 소개할 플러그인은 Django 개발하는 분들이라면 모르는 분이 없을 django-debug-toolbar입니다.

플러그인 이름 : django-debug-toolbar

저장소 : https://github.com/django-debug-toolbar/

공식 문서 : http://django-debug-toolbar.readthedocs.org/

쓰임새

django로 만든 웹페이지에서 SQL 쿼리, request, header 등을 확인할 수 있습니다.

설치

pip install django-debug-toolbar  

설정

INSTALLED_APPS에는 debug_toolbar 뿐만 아니라 django.contrib.staticfiles도 꼭 넣어주셔야 합니다.

INSTALLED_APPS = (  
    # ...
    'django.contrib.staticfiles',
    # ...
    'debug_toolbar',
)

MIDDLEWARE_CLASSES = (  
    # ...
    'debug_toolbar.middleware.DebugToolbarMiddleware',
    # ...
)

INTERNAL_IPS = ('127.0.0.1', )  

Django 1.7부터는 settings.py에 MIDDLEWARE_CLASSES가 없을 텐데요. 기본 미들웨어 없이 아래와 같이 설정해도 잘 작동합니다.

MIDDLEWARE_CLASSES = (  
    'debug_toolbar.middleware.DebugToolbarMiddleware',
)

urls.py 파일에는 다음과 같은 코드를 맨 아래 추가합니다.

if settings.DEBUG:  
    import debug_toolbar
    urlpatterns.append(
        url(r'^__debug__/', include(debug_toolbar.urls)))
    )

로컬 서버에서 웹페이지 오른쪽에 DJDT라고 써있는 반투명한 버튼이 보이면 설치에 성공한 겁니다.

각 패널의 기능

웹페이지 오른쪽의 DJDT 버튼을 누르면 여러 패널이 나타나는데요. 각 패널이 담고 있는 정보는 다음과 같습니다.

Version

파이썬, Django 외에도 pip로 설치한 앱들의 버전을 알려줍니다.

Time

응답하기까지 걸린 시간

Settings

settings.py의 설정들을 보여줍니다.

Headers

HTTP 요청과 응답의 헤더 값을 보여줍니다.

MIDDLEWARE_CLASSES 설정시 debug_toolbar 아래 쪽에 추가한 미들웨어들의 값은 보이지 않습니다.

Request

GET이나 POST, 쿠키, 세션 등의 값을 보여줍니다.

SQL

SQL 쿼리와 처리 시간을 알려줍니다.

Static files

사용된 스태틱 파일과 위치를 알려줍니다.

Template

어떤 템플릿 파일을 사용했는지, 이때 context의 값은 어떤지를 보여줍니다.

Cache

캐시를 사용했다면 그 내용을 보여줍니다.

Signal

시그널과 전달인자, 리시버를 알려줍니다.

Logging

파이썬 내장 로깅 모듈을 사용했을 때의 출력 로그를 보여줍니다.

Intercept Redirects

다른 페이지로 리디렉트하는 경우, 이를 가로막고 알려줍니다.