我在Nginx后面的远程服务器上安装了Django 1.3.

如果我使用apache+mod_wsgi运行Django,我可以查看Apache日志(log)文件中的错误.可以,但我想要控制台的.

如果我运行django自己的开发服务器,只有当DEBUG=False时,控制台中的stacktrace才会出错.在调试模式下,控制台输出

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只输出未命名的异常?为什么它依赖于调试变量.

当我没有访问请求对象的权限时,此错误主要发生在视图外部.所以我无法在中间件或使用日志(log)处理程序中捕获它.

更新.我注意到,如果我直接向Django服务器请求,我永远不会遇到管道破裂的情况.那么这个问题会不会在Nginx代理Django的时候发生呢?

推荐答案

Nginx指令proxy_intercept_errors off;(默认情况下禁用)是我需要的

Django相关问答推荐

Django没有';t显示黄页

在 Trunc 的 kind 属性中使用字段

Django allauth 社交帐户注册中邮箱的模板变量

如何在Django模板中有条件地传递值给with变量?

重建 Dockerfile 后,Django celery 无法从celery导入名称Celery

为什么在 Docker 映像中运行我的 Django 应用程序后下载属性不再起作用?

带有代码完成功能的 python / django 的 Sublime Text 2 和 3 设置

Django 模板:翻译带有 HTML 的文本块的最佳实践

Django 独立脚本

如何判断 Python unicode 字符串是否包含非西方字母?

在 Django CharFields 中自动截断 max_length 字段

CherryPy 与 Django

django 模板 if 或语句

Django Admin:如何在同一视图中显示来自两个不同模型的字段?

如何在 Django 和 django-jsonfield 中将 JSONField 的默认值设置为空列表?

Matplotlib - Tcl_AsyncDelete:异步处理程序被错误的线程删除?

单击弹出框会滚动回页面顶部 [Bootstrap 和 Django]

如何在不发送信号的情况下保存模型?

引发 404 并继续 URL 链

如何更改 django 模板中布尔值的打印方式?