반응형
Django-debug-toolbar란?
장고를 사용해서 웹 프로그램을 개발하고 디버깅과 성능 최적화를 돕는 라이브러리이다. 이 라이브러리는 sql, 정적 파일, cache 같은 내용을 디버깅하는데 도움이 되며, 직관적으로 페이지 내부에서 디버깅을 보여준다.
Django-debug-toolbar 설치 & 설정
설치
pip install django-debug-toolbar
settings.py 파일 수정
INSTALLED_APPS
INSTALLED_APPS += [
'debug_toolbar',
]
MIDDLEWARE
요청 처리 시에 미들웨어 중에 가장 먼저 호출되고,
응답 처리 시에 미들웨어 중에 가장 늦게 호출되도록 한다.
MIDDLEWARE = [
'debug_toolbar.middleware.DebugToolbarMiddleware',
]
INTERNAL_IPS
동작할 IP주소를 지정하는 설정이다. 이 설정을 통해 특정 IP 주소에 대해서만 디버스 툴바가 표시되도록 제한할 수 있다.
# django-debug-toolbar
# https://django-debug-toolbar.readthedocs.io/en/latest/installation.html
INTERNAL_IPS = env.list("INTERNAL_IPS", default=["127.0.0.1"])
URL
if settings.DEBUG:
urlpatterns += [
path("__debug__/", include("debug_toolbar.urls")),
]
작용 확인
우측에 debug_toolbar가 적용된 모습이다.
주요 기능
- SQL Queries Panel:
- 각 페이지 요청 시 실행된 모든 SQL 쿼리를 표시한다.
- 각 쿼리의 실행 시간과 실행된 데이터베이스를 보여준다.
- 비효율적인 쿼리를 식별하고 쿼리 최적화를 도와준다.
- Cache Panel:
- 캐시 사용 정보를 제공한다.
- 캐시에 저장된 데이터와 캐시 미스(hit/miss) 정보를 표시한다.
- Templates Panel:
- 렌더링 된 템플릿과 템플릿 상속 구조를 보여준다.
- 각 템플릿에서 사용된 컨텍스트 데이터를 확인할 수 있다.
- Settings Panel:
- 현재 Django 설정 값을 표시한다.
- 디버깅 시 유용한 설정 정보를 제공한다.
- Headers Panel:
- HTTP 요청 및 응답 헤더를 보여준다.
- 사용된 미들웨어 목록을 제공한다.
- Signals Panel:
- Django 신호(signal)와 관련된 정보를 표시한다.
- 어떤 신호가 언제 발생했는지, 그리고 어떤 리시버가 연결되어 있는지 보여준다.
- Logging Panel:
- 로깅 정보를 표시한다.
- 로그 메시지를 실시간으로 확인할 수 있다.
- Request Vars Panel:
- GET, POST, Cookie, Session 등 요청 변수들을 보여준다.
- 요청 시 전달된 모든 데이터를 확인할 수 있다.
- Profiling Panel:
- 코드 블록의 실행 시간을 프로파일링하여 성능 병목 지점을 파악할 수 있다.
반응형
'BackEnd > Django, DRF' 카테고리의 다른 글
[Django] URL Reverse를 통한 URL 작성 (0) | 2024.06.17 |
---|---|
[Django] Django에서 Slug란? (0) | 2024.06.17 |
[Custom] path와 re_path, CustomConverter를 통한 url 정의하기 (0) | 2024.06.10 |
[Django] 동적 이미지 생성, CSV & 엑셀 응답을 처리하는 View 만들기 (0) | 2024.06.10 |
[Django] timezone 모듈과 datetime 모듈의 차이 & 사용법 (1) | 2024.06.04 |