본문 바로가기
Django

첫 번째 Django 앱 만들기 (Part 8: Adding third-party packages)

by AlbertIm 2024. 9. 2.

시작

Part 7에 이어 간단한 설문조사(Polls) 앱을 구축했고 이번이 마지막 파트로 서드파티 패키지에 대해 알아보려고 합니다. 풍부한 서드파티 패키지 생태계가 존재한다는 것이 Django의 강점 중 하나입니다. 본 포스트에서는 macOS와 IntelliJ IDEA Ultimate을 사용합니다.

본문

Django Debug Toolbar 설치

1. 패키지 설치

python -m pip install django-debug-toolbar

 

Django와 통합되는 서드파티 패키지를 프로젝트와 통합하려면 설치 후 설정이 필요합니다. INSTALLED_APPS 설정에 패키지의 Django 앱을 추가해야 하는 경우가 종종 있습니다. 일부 패키지에는 URLconf(urls.py) 추가와 같은 다른 변경도 필요합니다.

2. 전제 조건 확인

핵심 Django 두 가지가 필요합니다. 이는 Django의 기본 startproject 템플릿에 이미 구성되어 있으므로 대부분의 경우 이미 설정되어 있습니다.

 

첫째로 django.contrib.staticfilesINSTALLED_APPS 설정에 포함되어 있어야 하며 제대로 설정되어 있어야 합니다.

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

STATIC_URL = "static/"

 

둘째로 TEMPLATES 설정에 APP_DIRS 옵션이 True로 설정된 DjangoTemplates 백엔드가 포함되어 있어야 합니다.

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

3. 앱 설치

debug_toolbarINSTALLED_APPS 설정에 추가합니다.

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

4. URLs를 추가

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

from django.urls import include, path
from debug_toolbar.toolbar import debug_toolbar_urls

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + debug_toolbar_urls()

 

그런데 일반적으로 디버깅 시에 많이 사용하기 때문에 아래와 같은 방법을 사용합니다.

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

urlpatterns = [
    path("polls/", include("polls.urls")),
    path("admin/", admin.site.urls),
]

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

5. Middleware 추가

settings.py에서 MIDDLEWAREdebug_toolbar.middleware.DebugToolbarMiddleware를 추가합니다.

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

 

MIDDLEWARE의 순서가 중요합니다. 가능한 한 빨리 목록에 디버그 도구 모음 미들웨어를 포함해야 합니다. 그러나 GZipMiddleware와 같이 응답 콘텐츠를 인코딩하는 다른 미들웨어 뒤에 와야 합니다.

6. 내부 IP 구성

Debug Toolbar는 IP 주소가 Django의 INTERNAL_IPS 설정에 나열된 경우에만 표시됩니다. 따라서 로컬에서 확인하기 위해 127.0.0.1settings.pyINTERNAL_IPS에 추가합니다.

INTERNAL_IPS = [
    "127.0.0.1",
]

 

이제 접속하면 아래와 같이 toolbar가 보입니다. 이를 이용해 다양한 내용을 확인할 수 있습니다. 주의 템플릿에 body 태그가 필요합니다.

기타 서드파티 패키지 설치

환상적인 Django 리소스인 Django Packages를 사용하여 더 많은 서드파티 패키지를 찾을 수 있습니다. 하지만 Django에서 어떤 서드파티 패키지를 사용해야 할지 결정하는 것이 어려울 수 있습니다. Django에서 이와 관련된 블로그를 추천하였습니다.

https://adamj.eu/tech/2021/11/04/the-well-maintained-test/

마무리

Part 8에서는 서드파티 패키지를 다루는 방법을 살펴보았습니다. Django에서 다양한 서드파티 앱을 지원하며 사용할 수 있습니다. 하지만 서드파티 패키지를 선택할 때 고민이 있을 수 있으며 이에 대한 간단한 가이드를 확인했습니다. 이로써 첫 번째 Django 앱 만들기를 마무리하게 되었습니다. 아직 갈 길이 멀고 Django의 더 깊은 세계로 들어가려고 합니다. 좋은 하루 보내세요.

참고자료

댓글