AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Django MongoDB 확장 시작하기

이 튜토리얼에서는 Django 프로젝트에서 Django MongoDB Extensions 패키지 사용하는 방법을 학습 수 있습니다.

Django MongoDB Extensions는 개발자 도구를 사용하여 Django MongoDB 백엔드를 확장하는 패키지 입니다. 이 튜토리얼에서는 장고 디버그 도구 모음과 함께 사용할 수 있도록 장고 MongoDB 확장의 MongoDB 쿼리 언어(MQL ) 패널을 구성하는 방법을 보여줍니다. 이 패널에는 요청 중에 애플리케이션 실행하는 MQL 쿼리가 실행 시간 및 쿼리 계획과 함께 표시됩니다.

이 튜토리얼을 시작하기 전에 다음 전제 조건 작업을 완료하세요.

  • 장고 MongoDB 백엔드를 사용하는 장고 프로젝트 생성합니다. 프로젝트 만들려면 장고 MongoDB 백엔드 시작하기 튜토리얼을 참조하세요.

  • 프로젝트 에 장고 디버그 툴바를 설치하고 구성합니다. 지침을 보려면 장고 디버그 툴바 문서에서 설치 를 참조하세요.

다음 단계에서는 Django MongoDB Extensions를 설치하고, MQL 패널을 구성하고, Django 디버그 도구 모음에서 MongoDB 쿼리를 보는 방법을 보여줍니다.

1

다음 명령을 실행하여 Django MongoDB Extensions를 설치합니다.

pip install django-mongodb-extensions
2

다음 예시 와 같이 프로젝트의 settings.py 파일 로 이동하여 INSTALLED_APPS 설정에 "django_mongodb_extensions" 를 추가합니다.

INSTALLED_APPS = [
'django_mongodb_extensions',
# ... your other apps
]
3

기본값 으로 장고 디버그 도구 모음은 DEBUG_TOOLBAR_PANELS 설정 없이도 작동합니다. 그러나 MongoDB SQL 사용하지 않기 때문에 MongoDB 애플리케이션에서 가장 일반적인 구성은 SQL 패널을 MQL 패널로 교체하는 것입니다. settings.py 파일 에 다음 설정을 추가하면 DEBUG_TOOLBAR_PANELS 가 기본값 으로 설정되지만 SQLPanelMQLPanel로 바뀝니다.

DEBUG_TOOLBAR_PANELS = [
'debug_toolbar.panels.history.HistoryPanel',
'debug_toolbar.panels.versions.VersionsPanel',
'debug_toolbar.panels.timer.TimerPanel',
'debug_toolbar.panels.settings.SettingsPanel',
'debug_toolbar.panels.headers.HeadersPanel',
'debug_toolbar.panels.request.RequestPanel',
'django_mongodb_extensions.mql_panel.MQLPanel',
'debug_toolbar.panels.staticfiles.StaticFilesPanel',
'debug_toolbar.panels.templates.TemplatesPanel',
'debug_toolbar.panels.alerts.AlertsPanel',
'debug_toolbar.panels.cache.CachePanel',
'debug_toolbar.panels.signals.SignalsPanel',
'debug_toolbar.panels.community.CommunityPanel',
'debug_toolbar.panels.redirects.RedirectsPanel',
'debug_toolbar.panels.profiling.ProfilingPanel',
]

선택적 설정

MQL 패널 동작을 사용자 지정하는 선택적 설정을 설정하다 방법을 학습 GitHub의 Django MongoDB 확장 리포지토리에 있는 README 를 참조하세요.

4

다음 명령을 실행 하여 개발 서버 시작합니다.

python manage.py runserver

애플리케이션 에서 MongoDB 쿼리하는 페이지로 이동합니다. 장고 디버그 툴바를 열고 MQL 패널을 선택하여 실행 시간 및 설명 계획을 포함하여 요청 중에 실행된 MongoDB 쿼리를 확인합니다.

5

Django MongoDB 백엔드 시작하기 튜토리얼에서 만든 애플리케이션 에 대해 Django MongoDB Extensions를 구성하는 경우 http://:127.0.0.1 /recent_movies/로8000 이동하여 요청 중에 실행된 MongoDB 쿼리를 볼 수 있습니다.

장고 디버그 도구 모음이 페이지 오른쪽에 나타납니다. MQL 레이블을 선택하면 다음 코드와 유사한 최근 영화를 표시하는 데 사용된 MongoDB 쿼리 볼 수 있습니다.

db.movies.aggregate([{'$addFields': {'released': '$released'}}, {'$sort': SON([('released', -1)])}, {'$limit': 5}])

그런 다음 다음 버튼을 클릭하여 쿼리 정보를 탐색할 수 있습니다.

  1. 쿼리 왼쪽에 있는 + 버튼을 선택하면 다음 코드와 유사한 트레이스백을 볼 수 있습니다.

    /path/to/site-packages/django/contrib/staticfiles/handlers.py in __call__(80)
    return self.application(environ, start_response)
    /path/to/djangoquickstart/sample_mflix/views.py in recent_movies(11)
    return render(request, "recent_movies.html", {"movies": movies})
    /path/to/site-packages/django/shortcuts.py in render(25)
    content = loader.render_to_string(template_name, context, request, using=using)
    ...
  2. ACTION 열에서 쿼리 오른쪽에 있는 Query 버튼을 선택하면 예쁘게 인쇄된 MQL 볼 수 있습니다. 이 MQL 다음 코드와 유사합니다.

    db.movies.aggregate(
    [
    {
    "$addFields": {
    "released": "$released"
    }
    },
    {
    "$sort": {
    "released": -1
    }
    },
    {
    "$limit": 5
    }
    ]
    )
  3. ACTION 열에서 쿼리 오른쪽에 있는 Explain 버튼을 선택하면 쿼리 에 대한 설명 계획을 볼 수 있습니다. 이 계획은 다음 코드와 유사합니다.

    {
    "explainVersion": "1",
    "stages": [
    {
    "$cursor": {
    "queryPlanner": {
    ...
    },
    "executionStats": {
    ...
    }
    },
    "nReturned": 21351,
    "executionTimeMillisEstimate": 59
    },
    {
    "$addFields": {
    "released": "$released"
    },
    "nReturned": 21351,
    "executionTimeMillisEstimate": 70
    },
    {
    "$sort": {
    "sortKey": {
    "released": -1
    },
    "limit": 5
    },
    ...
    }
    ],
    ...
    }

Django MongoDB Extensions 튜토리얼을 완료한 것을 축하합니다! 이제 Django MongoDB Extensions를 사용하여 Django 디버그 도구 모음에서 MongoDB 쿼리를 보고 분석 Django 애플리케이션 생겼습니다.

Django MongoDB 확장 패키지에 대해 자세히 학습하려면 PyPI의 django-mongodb-extensions 및 GitHub의 django-mongodb-extensions 리포지토리를 참조하세요.

데이터를 쿼리하는 방법을 배우려면 쿼리 지정 가이드를 참조하세요.