파이썬 python/django

[django] debug_toolbar 세팅

Aytekin 2022. 6. 22. 19:56
728x90

django debug 툴바 설치 및 세팅 방법입니다.

 

1. install Package

pip install django-debug-toolbar
pip install -e git+https://github.com/jazzband/django-debug-toolbar.git#egg=django-debug-toolbar

둘중 한 방법을 선택해서 사용하고 있는 가상환경에 django-debug-toolbar패키지를 설치해준다.

 

2. Check for Prerequisites

이 설정은 startproject를 할 때 이미 세팅이 되는 부분이라서 웬만하면 따로 손볼일은 없고, 아래 코드처럼 되어잇는지 확인만 하면 된다.

# 프로젝트 디랙토리/settings.py

INSTALLED_APPS = [
    # ...
    "django.contrib.staticfiles",
    # ...
]

STATIC_URL = "static/"

TEMPLATES = [
    {
        "BACKEND": "django.template.backends.django.DjangoTemplates",
        "APP_DIRS": True,
        # ...
    }
]

 

3. app 설치(Install the App)

drf나 taggit같은 패키지처럼 다른 패키지를 설치하고 사용하려면 installed_apps 리스트 안에 꼭 해당 패키지를 넣어 장고가 이 앱을 사용할 수 있도록 해주어야 한다.

# 프로젝트 디렉토리/settings.py

INSTALLED_APPS = [
    # ...
    "debug_toolbar",
    # ...
]

 

4. url 추가.(Add the URLs)

django-debug-toolbar의 URL을 프로젝트 URLconf에 추가해준다.

# 프로젝트 디렉토리/urls.py

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

settings.DEBUG 값이 참일때만 debug 툴바가 보이도록 해주는 코드이므로 실제 배포할 땐 나타나지 않도록 해준다.

실제 배포단계에서는 settings.py에서 DEBUG값을 FALSE로 변경해주어야 한다. 꼭!

 

5. MIDDELWARE에 추가하기(Add the Middleware)

# 프로젝트 디렉토리/settings.py

MIDDLEWARE = [
    # ...
    "debug_toolbar.middleware.DebugToolbarMiddleware",
    # ...
]

debug_toolbar는 대부분 미들웨어로 구현되기 때문에 미들웨어에서 활성화를 시켜주어야 한다고 한다.

 

6. INTERNAL_IPS세팅

이 세팅은 로컬환경에서만 툴바가 나타나도록 하는 설정이다. 필요에 따라 개발할 때 사용될 아이피를 열어주어 개발에 사용해도 될 것 같다.

# 프로젝트 디렉토리/settings.py

INTERNAL_IPS = [
    # ...
    "127.0.0.1",
    # ...
]

 

결과화면

오르쪽에 디버그 툴바가 생긴것을 확인할 수 있습니다.

SQL이나 Request, Settings같은 정보들을 한눈에 볼 수 있게 되어 앞으로 개발에 더 편리하게 사용할 것 같습니다!

 

 

 

참고 : 

https://django-debug-toolbar.readthedocs.io/en/latest/installation.html

 

Installation — Django Debug Toolbar 3.4.0 documentation

Troubleshooting On some platforms, the Django runserver command may use incorrect content types for static assets. To guess content types, Django relies on the mimetypes module from the Python standard library, which itself relies on the underlying platfor

django-debug-toolbar.readthedocs.io

https://ssungkang.tistory.com/entry/Django-django-debug-toolbar-%EC%84%A4%EC%B9%98%ED%95%98%EA%B8%B0

 

[Django] django-debug-toolbar 설치하기

프로그래밍에서 디버깅은 땔래야 땔 수 없는 중요한 요소입니다. django 에서도 마찬가지 입니다. 그래서 저번에 vs code 를 이용하여 django 에서 디버깅하는 방법을 포스팅하기도 했었습니다. 이번

ssungkang.tistory.com

 

728x90