Александр Кошелев
Александр Кошелев Python-разработчик

Висит себе такой toolbar

Как у вас выглядит процесс разработки проекта на джанге? Как вы ведете отладку, а как профилирование? Вставляете print и изучаете консоль дев сервера? Вглядываетесь в лог SQL запросов, в котором зачастую трудно понять “а почему же так тормозит?!”? А может быть вы используете что-то другое?

Я вот до недавнего времени примерно все перечисленное и делал. Но в один прекрасный момент мне это надоело, и я решил все-таки потрогать зверька под именем django-debug-toolbar от Роба Хадсона. Отметив его галочкой “интересно” в свое время, у меня так и не доходили руки его поизучать предметно. Наконец-то я созрел.

Что это такое? Да просто панелька, которая висит вверху страницы, и где на вкладках можно найти подробнейшую информацию о том, как отработал весь стек джанги при генерации ответа на запрос. Посмотреть можно всё: начиная от параметров запроса и заканчивая статистикой использования кеша.

Debug Toolbar

Приложение совсем небольшое и легко устанавливается. Достаточно положить в PYTHON_PATH приложение debug_toolbar, добавить его в INSTALLED_APPS, прописать нужные мидлвари, так же не забыв указать себя в INTERNAL_IPS - вот в принципе и всё. Есть дополнительные настройки отображения панелей и деталей поведения тулбара, но они опциональны.

В основной комплект входят панели:

  • показ версии джанги
  • общее время генерации страницы
  • значения из settings.py
  • HTTP заголовки
  • Параметры запроса
  • Информация об использованных шаблонах при подготовки ответа. Будьте осторожны, эта штука долго рендериться сама по себе и не хило может замедлить отдачу страницы:-)
  • Лог SQL запросов с временем их выполнения
  • Информация об использовании кеша
  • Вывод стандартного питонячего модуля logging

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

Соверешнноя случайно, я набрел на форк тулбара от Девида Крамера. И к своему удивлению обнаружил, что все фичи которые мне хотелось добавить и все баги которые хотелось исправить - им благополучно добавлены и исправлены. Чудесно. И ещё как приятный бонус - небольшой редизайн. Так что рекомендую именно его форк. Он значительно удобнее и уж точно функциональнее “из коробки” чем прототип.

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

Пока что оставляю тех, кто еще не щупал тулбар с ним наедине - пробуйте. А от тех, кто им уже пользовался, хотелось бы услышать ваши впечатления.

comments powered by Disqus