PRO

Что такое django-debug-toolbar? Как профилировать запросы?

django-debug-toolbar — инструмент для разработки, который показывает технические данные о текущем Django-запросе: SQL-запросы, время выполнения, headers, cache и шаблоны. Он помогает находить медленные запросы, N+1 и лишние обращения к базе.
Подробный ответ

Что показывает Debug Toolbar

Django Debug Toolbar добавляет в страницу панель отладки. Среди прочего она показывает количество SQL-запросов, текст SQL, длительность запросов, использованные шаблоны, cache operations, settings и headers.

Базовое подключение

Пакет устанавливают в development-зависимости, добавляют в INSTALLED_APPS, подключают middleware и задают INTERNAL_IPS. Точная конфигурация зависит от окружения и версии пакета.

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

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

INTERNAL_IPS = ['127.0.0.1']

Профилирование SQL

Для поиска проблем смотрят SQL panel: число запросов, одинаковые повторяющиеся запросы, длительность каждого запроса и суммарное время. Повторяющиеся запросы при выводе списка часто указывают на N+1; тогда проверяют необходимость select_related() или prefetch_related().

Другие способы

Дополнительно применяют логирование SQL, QuerySet.explain() для плана выполнения запроса, профилировщики Python и APM-инструменты. В production Debug Toolbar обычно не включают: для него используют безопасные средства мониторинга и трассировки.

Как ответить на собеседовании

django-debug-toolbar использую в development для анализа SQL, времени выполнения, шаблонов и кэша. При профилировании сначала измеряю число и длительность запросов, нахожу N+1 или медленные SQL, затем оптимизирую QuerySet и повторно проверяю результат.

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге