У меня есть django 1.3 на удаленном сервере за Nginx.
Если я запускаю django с apache + mod_wsgi, я могу наблюдать ошибки в файлах журнала apache.Это нормально, но я хотел бы иметь в консоли.
Если я запускаю собственный сервер разработки django, я получаю ошибки с помощью stacktrace в консоли, только когда DEBUG = False.В режиме отладки консольные выходы
Exception happened during processing of request from (..., ...)
Traceback (most recent call last):
File "/usr/local/python/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
self.process_request(request, client_address)
File "/usr/local/python/lib/python2.7/SocketServer.py", line 310, in process_request
self.finish_request(request, client_address)
File "/usr/local/python/lib/python2.7/SocketServer.py", line 323, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/usr/local/python/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 570, in __init__
BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
File "/usr/local/python/lib/python2.7/SocketServer.py", line 641, in __init__
self.finish()
File "/usr/local/python/lib/python2.7/SocketServer.py", line 694, in finish
self.wfile.flush()
File "/usr/local/python/lib/python2.7/socket.py", line 301, in flush
self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
Я хочу выяснить, почему?Почему django просто выводит безымянное исключение?Почему это зависит от переменной DEBUG.
Эта ошибка возникает в основном за пределами представлений, когда у меня нет доступа к объекту запроса.Поэтому я не могу поймать его в промежуточном программном обеспечении или с помощью обработчика журналов.
ОБНОВЛЕНИЕ.Я заметил, что если я обращаюсь непосредственно к серверу django, я никогда не получаю Сломанный канал.Так может ли проблема возникнуть во время прокси Nginx django?