mod_wsgi просто перестаёт работать - пишет, что
"Internal Server Error" и "Please contact the server administrator". Как сделать, чтобы mod_wsgi тоже рассказывал?
Например z3c.evalexception - http://pypi.python.org/pypi/z3c.evalexception
PS: правда это написанно для Zope3, и возможно придётся поковырятся, что бы приладить к своим нуждам.
PSS: Ну и конечно же гугл вам в руки.
http://www.google.ru/search?hl=ru&q=wsgi+debugging+middlewares&btnG=%CF%EE%E8%F1%EA
Last edited Nov. 17, 2008, 9:36 p.m.
если в браузере у меня возникает ошибка при конкретном наборе параметров (внутри URL), или лучше - ошибка от данных из POST запроса, то какой толк мне от запуска моего скрипта в консоли?
не понятна идея middlewares.
пишут, что
Middleware добавляет некую функциональность в исходное веб-приложениеи что middleware имеет одинаковые входящие и выходящие интерфейсы. т.е. можно добавить прослойку и выводить всё-таки результаты в браузер? есть ли простой middleware=debugger?
возникает предположение, что и идею WSGI я не понимаю.
например, для меня mod_wsgi - просто ещё один вариант запуска скрипта из-под Apache. А в инете что-то пишут про запуск серверов и взаимодействие с web-клиентом.
Грубо говоря, WSGI - это интерфейс, которому должно удовлетворять python-приложение. Тогда оно запустится под любым веб-сервером, который обладает wsgi модулем. Например под апачи с mod_wsgi.
Middleware - это wsgi-приложение, в которое вы заворачиваете ваше wsgi-приложения... Можно так до бесконечности друг в дружку их заворачивать. Вот я вам и предложил написать middleware, которое бы ловил Exception, который может породить ваше основное приложение.
zope.security.management.endInteraction() пожалуй, можно и не пытаться.
по второй ссылке - гугль большой, а вопрос сложный. нужен реальный совет.
lorien, спасибо, почитал. но проблему не решил.
пусть приложению передаётся словарь environ, внутри которого есть environ('wsgi.errors') объект. Но как из него можно вытащить данные?
Last edited Nov. 19, 2008, 2:30 p.m.
environ['wsgi.errors'] нужны данные о произошедших ошибках, чтоб отобразить их в браузере