Django | Проблема отладки в "боевом" режиме и ее решение

Nov 19, 2010 00:32

 Название у этого поста - гордое и звучное, а началось все с того, что я не понял, почему при подключении через SSH я не вижу нигде вывода такой простой команды, как:

print 'a message'

Написал провайдеру, тот ответил примерно так: читайте про проблему logging в документации Python и Django. Я так и поступил, собственно, и быстро погрузился в чтение этих двух подробнейших статей:

Django | Logging | Django documentation
15.7. logging - Logging facility for Python

Правда, до конца я их не осилил. Уж больно объемные! Интуиция подсказала, надо искать что-то готовое, а не заново писать систему логгирования.

Интуиция не обманула, как впрочем и всегда. Весьма помогла вот эта статья на Хабре:

Отладка в Django

Именно благодаря ей я познакомился с инструментом, который называется django-debug-toolbars. Удаленная инсталляция была легко выполнена с помощью следующей команды:

$easy_install --prefix $HOME django-debug-toolbar

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

import logging
logging.debug('a message')

На самом-то деле, про модуль logging почитать-то все же полезно! Я имею в виду как раз те две статьи, что были упомянуты мною в самом начале. Но в данный момент мне хватило и этих двух строк кода, чтобы добиться желаемого результата. А ведь у django-debug-toolbar есть и другие замечательные возможности! В частности, анализ SQL. Я даже как-то все для себя еще не охватил. Для осознания возможностей инструмента, пожалуй, будет полезна еще и эта статья:

The Django Debug Toolbar

Вобщем, я пока очень доволен, что у меня все заработало. Хорошее прибавление к RestrictMiddleware (у себя упоминаю кратко здесь). Чувствую, что постепенно обрастаю нужными инструментами, и если еще не матерею, то по крайней мере, взрослею...

django

Previous post Next post
Up