Просмотр SQL запросов в Django: часть2

Сегодня наконец-то собрался с силами и оформил тэг для просмотра sql запросов в виде отдельного приложения. Для просмотра EXPLAIN запросов требуется настройка url dispatcher и отдельный view, так что получилось полноценное приложение.

Оно называется dja.debug ) Т.е пустой package dja, в котором package debug с приложением.
Такая структура нужна т.к. я планирую в будущем заопенсорсить другие свои наработки, которые попадут в отдельные пакеты внутри dja.

Итак, пара слов о том, что делает dja.debug. После подключения его в INSTALLED_APPS, становится доступным temaplate tag orm_debug, для работы с которым надо сделать {% load dja_debug %}. Тэг orm_debug отображает список SQL запросов сделанных во время выполнения запроса. По умолчанию список свёрнут. Естественно, тэг работает только при включенном settings.DEBUG, иначе он просто возвращает пустую строку. Я уже публиковал код этого тэга ранее на блоге.

Особая фича, которая требует рассмотрения - это возможность делать EXPLAIN выбранных запросов. Для этого вы должны подключить jQuery фреймворк к своему проекту. Просмотр EXPLAIN доступен только с ip адресов, указанных в settings.INTERNAL_IPS, просмотр sql запросов доступен с любых адресов.

Трак проект dja.debug доступен по адресу: http://dja.pydev.ru
Репозитарий: http://hg.dja.pydev.ru

Инструкция по установке приложения:
- скачайте из репозитория каталог dja! Именно dja, а не debug
- сохраните этот jda куда-нибудь в sys.path
- пропишите в settings.INSTALLED_APPS строку dja.debug
- пропишите в urls.py (”, include(‘dja.debug.urls’)),

Обратите внимание, что в dja.debug есть ещё одна фича, которую вы, возможно, захотите отключить или использовать. dja.debug.urls подключают стандартный вид django.views.static.serve для раздачи статических файлов. В общем, смотрите код, там всё понятно, надеюсь )

Если у кого будут мысли, насколько это ахтунг позволять делать EXLAIN запросов (пусть только и для INTERNAL_IPS), которые по сути можно подменить, прошу высказаться в камментах.
Add post to:   Google Slashdot Yahoo Digg Technorati Delicious Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Yandex.ru Myscoop.ru 100zakladok.ru
Make comment

Comments

  • Карабас-барабас. Потестируем сейчас. Потестируем сейчас. Между прочим openid не работает. Заваливается в ошибку. Уж посмотрите :)

  • Хмхм, попробую поглядеть сейчас, я уже пару недель не обновлял блог, там сделали кучу рефакторинга )

  • Было бы интересно поковыряться с Джанго, наверное на днях этим и займусь!

  • Мне понравился пост.

  • Да вам все посты нравятся, вы же ливiтру продвигаете )

  • Спасибо, именно то в чем я нуждался!

  • Наверно так.

  • Однако друзья давайте обьщатся

  • Предлагайте тему для общения.

  • Тема для общения: долбаные оптимизаторы, спамящие свои сателлиты в камментах )

  • Можно добавить сворачивание куска с SQL обратно в линк. Иногда хочется глянуть еще раз на страничку уже без SQL, а перегружать влом :)

comment submission form

Required. 30 chars of fewer.

Required.

captcha image Please, enter symbols, which you see on the image