📌 이 포스팅에서는 Django와 함께 사용할 수 있는 유용한 tool을 정리하였습니다.
🔥 ipython
🔥 shell-plus
🔥 django-debug-toolbar
✔️ 아래 명령어로 ipython을 설치할 수 있다.
$> pip install ipython
✔️ ipython을 설치하면, 자동완성 기능이 주어지기 때문에 shell을 편리하게 이용할 수 있다.
✔️ 설치만하면, ipython을 우선적으로 찾아 실행시키기 때문에 명령어는 변경 없다.
✔️ shell-plus라는 Django shell에 유용한 tool이 있다. shell-plus를 사용하여 ipython shell에 진입하면 기본적인 기능들을 자동으로 import해준다.
✔️ 설치 방법은 아래와 같다.
$> pip install django-extensions
✔️ 설치하였다면, settings.py로가 INSTALLED_APPS에 추가한다.
# settings.py INSTALLED_APPS = [ 'django_extensions', ]
✔️ shell plus를 사용하면 django shell에 진입하는 방법은 아래와 같다.
$> python manage.py shell_plus
✔️ 실제 ORM이 SQL문으로 어떻게 query를 보내는지 알고싶다면, --print-sql
옵션을 사용한다.
$> python manage.py shell_plus --print-sql
✔️ shell plus와 관련한 옵션은 아래 명령어로 확인 가능하다.
$> python manage.py shell_plus --help
✔️ django-debug-toolbar는 오른쪽에 toolbar가 생성되, 여러가지 유용한 기능을 제공하는 extension입니다.
✔️ 단, template와 함께 사용하는 것으로 html 태그에 body가 없으면 toolbar가 나타나지 않습니다.
✔️ django-debug-toolbar 설치 방법
$> pip install django-debug-toolbar
✔️ 'staticfiles'에 의존성을 갖기 때문에 주석처리할 경우 degub_toolbar를 사용하지 못한다.
# settings.py INSTALLED_APPS = [ 'django.contrib.staticfiles', 'debug_toolbar', # 👈 django-debug-toolbar 추가 ]
✔️ MIDDLEWARE에 debug-toolbar를 추가한다.
# settings.py MIDDLEWARE = [ ... ... ... 'debug_toolbar.middleware.DebugToolbarMiddleware', ]
✔️ 프로젝트 디렉토리 내 url.py에 아래 내용을 추가한다.
# config/url.py from django.conf.urls.static import static from django.contrib import admin from django.urls import path, include from django.conf import settings urlpatterns = [ path('admin/', admin.site.urls), path('instagram/', include('instagram.urls')), ] if settings.DEBUG: urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) # debug toolbar를 위한 url 설정(DEBUG=True 일 때만 사용) import debug_toolbar urlpatterns += [ path('__debug__/', include('debug_toolbar.urls')), ]
✔️ debug toolbar가 로컬 환경일 때만 작동할 수 있도록 INTERNAL_IPS를 settings.py에 추가합니다.
# settings.py INTERNAL_IPS = [ "127.0.0.1", ]