새소식

LANGUAGES/Django

[Django] debug_toolbar 사용하기

  • -

Django debug_toolbar란?

디버그 툴바의 기능
- 현재 request / response에 대한 다양한 디버깅 정보 확인 가능
- 다양한 Panel 지원하며, SQL Panel을 통해 각 요청 처리 시 발생한 SQL 내역 확인 가능
- 단, Ajax 요청에 대한 지원은 불가능 하다고 한다.

 

Django debug_toolbar 설치

 

Django Debug Toolbar — Django Debug Toolbar 3.7.0 documentation

© Copyright 2022, Django Debug Toolbar developers and contributors Revision 4cf595c8.

django-debug-toolbar.readthedocs.io

➤ django-debug-toolbar 명령어

pip3 install django-debug-toolbar==3.7.0

 

위의 명령어로 django에 debug-toolbar 3.7.0 버전을 설치해주자.
- 사용자 개발 환경마다 pip를 사용하는지 pip3인지는 다를 수 있다.

 

➤ config > settings.py 설정

# Application definition
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # CUSTOM APP
    'user',
    'website',
    'course',
    'orm',
    'django_seed',
    'rest_framework',
    'rest_framework.authtoken',

    # Debug_toolbar
    'debug_toolbar'
]
제일 아래  'debug_toolbar'라는 app을 추가 

 

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    "debug_toolbar.middleware.DebugToolbarMiddleware",  # Django Debug Toolbar
]

그 다음 MIDDLEWARE 부분에 'debug_toolbar.middleware.DebugToolbarMiddleware'를 추가
- 장고에서 각 요청을 처리하는 로직이 호출되기 전에 호출되는 함수들을 일컬어 부른다.

 

INTERNAL_IPS = [
    "127.0.0.1",
]  # Django Debug Toolbar
보안을 위해 특정 IP에서만 디버깅을 할 수 있게 설정

 

➤ config > urls.py

from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
from django.urls import path, include
import debug_toolbar

urlpatterns = [

    # Debug
    path("__debug__/", include(debug_toolbar.urls))
    
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
위와 같이 config에 있는 urls.py에 디버그를 사용할 수 있는 경로는 넣어주자.

 

이제 위에 보이는 것과 같이 runserver로 서버를 띄워주면 우측 상단에 DJDT라는 문자가 보일 것이다.
선택하게 되면 다양한 Panel이 열리는 확인 할 수 있을 것이다.

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.