Бонус: установка django-debug-toolbar

Чем сложнее проект, тем больше вопросов: как это работает и откуда вдруг взялась ошибка. У врачей есть УЗИ, рентген и томограф; зрение Супермена позволяет видеть вещи насквозь. У программиста есть тесты и страница ошибок, но если ошибки нет, а сайт ведет себя не так, как ожидалось — хочется обзавестись молотом Тора.
В Django супероружие — это django-debug-toolbar (сокращенно DjDT). Установите его с помощью pip:
Скопировать кодPYTHON
(venv) $ pip install django-debug-toolbar
Зарегистрируйте в settings.py новое приложение:
Скопировать кодPYTHON
# Инструмент будет работать только в режиме разработки: DEBUG = True # Добавьте новое приложение в INSTALLED_APPS = [ # Это приложение необходимо для работы "django.contrib.staticfiles", # ... "debug_toolbar", ] # Добавьте новое приложения для обработки запросов MIDDLEWARE = [ # ... "debug_toolbar.middleware.DebugToolbarMiddleware", ] # Добавьте IP адреса при обращении с которых будет доступен инструмент INTERNAL_IPS = [ "127.0.0.1", ]
В головной файл urls.py добавьте новое правило для режима отладки:
Скопировать кодPYTHON
from django.conf import settings # У вас уже есть это условие if settings.DEBUG: import debug_toolbar urlpatterns += (path("__debug__/", include(debug_toolbar.urls)),)
Откройте сайт — и у вас появится новая панель:
image
Теперь вам доступна груда информации о том, как шла отрисовка текущей страницы. Например, вот список запросов, которые выполнялись перед отображением главной страницы:
image
Каждый запрос можно рассмотреть подробнее (кнопка Sel) или узнать, какие индексы и какой план запроса был сформирован для получения данных (кнопка Expl, от explain).
Большинство Django-программистов подключают DjDT к своим проектам по умолчанию, это упрощает разработку и помогает избежать многих проблем.