파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 강의를 듣고 정리한 글입니다.
# pipenv
pipenv install django-debug-toolbar --dev
# settings.py
INSTALLED_APPS = [
# ...
'django.contrib.staticfiles',
# ...
'debug_toolbar',
]
STATIC_URL = '/static/'
# ...
# 미들웨어에서 디버깅 정보를 삽입해준다.
MIDDLEWARE = [
# ...
'debug_toolbar.middleware.DebugToolbarMiddleware',
# ...
]
# ...
# 디버그 툴바에 접근 가능한 IP 설정. 민감한 정보가 많기 때문에 꼭 설정하기.
INTERNAL_IPS = [
# ...
'127.0.0.1',
# ...
]
# project_root/project/urls.py
import debug_toolbar
from django.conf import settings
from django.urls import include, path
urlpatterns = [
...
path('__debug__/', include(debug_toolbar.urls)),
]
다음과 같이 쿼리문을 출력한다 → print(Post.objects.all().query)
# pipenv
pipenv install django-querycount --dev
MIDDLEWARE = [
# ...
'querycount.middleware.QueryCountMiddleware',
# ...
]
settings.DEBUG=True
로 서버가 실행될 때에는 쿼리 실행내역을 메모리에 누적된다.settings.DEBUG=True
설정을 하면 메모리 누수가 발생할 수 있다.django.db.reset_queries()
를 통해서 수동 초기화가 가능하다.