16 Июн


2017

Приложение для дебага. Django Debug Toolbar

Невероятно удобное решение для дебага django проектов. И это без преувеличений. Позволяет непосредственно на странице просмотреть переменные. request, настройки проекта, SQL запросы, кэш и время загрузки и многое другое. Чисто случайно при дебаге одного приложения, хороший, и куда более опытный, знакомый посоветовал заюзать. Сказать что очень доволен, это ничего не сказать, кроме того процедура установки крайне проста. 

Ниже приведу краткий мануал по установке и настройки, однако советую читать в оригинале, для более полной картины и более подробного изучения функционала.

Установка

pip install django-debug-toolbar

Убедимся что в установленных приложениях (settings.py) добавлено приложение для статических файлов, а также, добавить наш тулбар.

INSTALLED_APPS = [
    # ...
    'django.contrib.staticfiles',
    # ...
    'debug_toolbar',
]

STATIC_URL = '/static/'

В урлы проекта импортируем файл настроек, а также добавляем урл для дебаг режима.

from django.conf import settings
from django.conf.urls import include, url

if settings.DEBUG:
    import debug_toolbar
    urlpatterns = [
        url(r'^__debug__/', include(debug_toolbar.urls)),
    ] + urlpatterns

Добавляем приложение в middleware

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

Добавим айпи адреса всех участников проекта

INTERNAL_IPS = [
    '127.0.0.1',
]

Дополнительные настройки 

DEBUG_TOOLBAR_PANELS = [
    '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',
    'debug_toolbar.panels.sql.SQLPanel',
    'debug_toolbar.panels.staticfiles.StaticFilesPanel',
    'debug_toolbar.panels.templates.TemplatesPanel',
    'debug_toolbar.panels.cache.CachePanel',
    'debug_toolbar.panels.signals.SignalsPanel',
    'debug_toolbar.panels.logging.LoggingPanel',
    'debug_toolbar.panels.redirects.RedirectsPanel',
]

Большинство настроек понятно из названия, однако для более точного представления о их возможностях советую перейти по ссылке на спецификацию ниже.

Ссылки

Документация на английском, куда более полная чем описание этой статьи

 

DRF
Django