Old Branch

[tip] Django 디버깅하기 - django-debug-toolbar

woolbro 2019. 10. 25. 01:48
반응형

안녕하세요, 장고로 개발을 하는 여러분들에게 희소식이 있습니다!

 

개발자들에게는 debug가 필수적인데요, django와 같은 프레임워크는 어떻게 debug할까요??

 

한번 살펴보도록 하겠습니다.

 


기본적으로 장고는 에러페이지에서 아래와 같이 어떤 에러이다, 어디서 에러가 났다 라는 얘기를 해주는데요

 

 

좀 더 직관적이, 페이지내부에서 디버깅을 해주는 디버깅 툴이 있습니다.

 

우선, django프로젝트에서 설치를 해주도록 하겠습니다.

 

1. 설치

django-debug-toolbar를 설치 해 주어야 합니다.

 

전체에서 사용 할 수 있도록 일반 cmd창에서 설치해도 무방하지만, 프로젝트의 가상환경 마다 설치하기를 권장드립니다.

 

장고 프로젝트의 가상환경을 실행 한 후에 아래의 커맨드 명령어 중 선택해서 입력 해 주세요.

어떤 명령어든 상관없습니다.

pip3 install django-debug-toolbar

pip install django-debug-toolbar

 

설치를 해서 바로 사용할 수 있는것이 아니라, 프로젝트에서 사용 할 수 있도록 설정을 해 주어야 합니다.

 

2.프로젝트 settings.py , urls.py 설정

장고에서는 앱을 설치/작성 할 때마다 장고프레임웍이 인식 할 수 있도록 settings.py에 명시를 해 주어야 합니다.

설치한 프로젝트 경로에 들어가 setting.py에 django-debug-toolbar 사용을 위해 필요 한 것들을 작성 해 주도록 하겠습니다.

 

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'debug_toolbar'
]

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'
]


INTERNAL_IPS = ('127.0.0.1')

각각 INSTALLED_APPS와 MIDDLEWARE의 가장 하단에 있는 debug-toolbar 세팅을 넣어주고, INTERNAL_IPS 까지 작성 해 주세요.

 

그리고, 프로젝트 루트 폴더의 url.py에 아래와 같은 debug 세팅을 추가 해 줍니다.

if settings.DEBUG:
    import debug_toolbar
    urlpatterns += [
            url(r'^__debug__/', include(debug_toolbar.urls)),
        ]

이제 모든 창에서 django-debug-toolbar가 나타나는 것을 볼 수 있습니다!