Django 在调试模式下损坏管道

2023-12-01

我在 Nginx 后面的远程服务器上有 django 1.3。

如果我使用 apache + mod_wsgi 运行 django,我可以查看 apache 日志文件中的错误。没关系,但我想在控制台中使用。

如果我运行 django 自己的开发服务器,只有当 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时可能会出现这个问题吗?


这并不是您网站的真正问题,而是 Django devserver 的问题:请参阅此姜戈门票。坦率地说,忽略它,因为它是一个已知错误,并且不会被修复。

在那张票的评论中给出了非常明确的解释:

根据许多消息来源,“Broken Pipe”是一个正常的浏览器怪癖。例如,浏览器从套接字读取,然后确定它正在读取的图像显然没有改变。浏览器现在(强制)关闭连接,因为它不需要更多数据。该套接字的另一端(python runserver)现在引发一个套接字异常,告诉程序客户端“破坏了套接字管道”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 在调试模式下损坏管道 的相关文章

随机推荐

  • 删除 CosmosDB 的 SQL [重复]

    这个问题在这里已经有答案了 是否可以在 CosmosDB 中使用 SQL 从文档集合中删除 我正在寻找类似于 SELECT 的删除 SQL 如下所示 SELECT FROM Families f WHERE f id AndersenFam
  • PHP爬取一个网站,该网站正在使用cloudflare

    我想从网站 不是我自己的网站 中抓取一些特定值 例如新闻文本 file get contents 不工作 可能被 php ini 阻止 所以我尝试用curl来做到这一点 问题是 我得到的只是来自 cloudflare 的重定向文本 我的爬虫
  • .NET:是否可以让 HttpWebRequest 自动解压缩 gzip 响应?

    In 这个答案中 我描述了如何在 HttpWebResponse 中的响应流周围包装 GZipStream 以便对其进行解压缩 相关代码如下所示 HttpWebRequest hwr HttpWebRequest WebRequest Cr
  • 加载页面时动画 GIF 没有动画

    我有一个使用 asp net C 在服务器端生成的页面 由于页面最多有 100 个 iframe 因此需要一段时间才能加载 我想在页面加载时显示 请稍候 动画 gif 所以我有以下内容
  • 在 WCF 中,有没有办法从 WSDL 中省略/隐藏服务操作或数据成员?

    我有一个现有的 WCF 服务 在某些时候 有时 OperationContract or a DataMember 在数据合约中变成 Obsolete 出于向后兼容性的原因 我不想删除该方法 另一个例子是有时我有一个枚举 并且想要 Obso
  • Java mySQL 与 000webhost

    我在 000webhost 上创建了一个 mySQL 数据库 我想将其连接到我的 Java 程序 但不知何故驱动程序未接收套接字 这是我的代码 Class forName com mysql jdbc Driver Connection c
  • 具有动态行的 Angular 材质数据表

    我正在使用 Angular 5 和 Angular Material 数据表来构建数据 我指的是下面网站中的一个例子 考虑到这一点 我需要将动态数据包含到每一行 如屏幕截图中所示 其中 最喜欢的 是列标题 http www devglan
  • 读取文本文件,matlab

    我正在 matlab 中读取文本文件 mytext text 数据文件如下所示 1 4436 6910 415 1843 3019 7497 1 3 4 5 21 23 2 4366 4541 1353 9975 3085 1166 1 3
  • 为什么多个 on_message 事件不起作用?

    为什么我不能有多个on message events import discord client discord Client client event async def on ready print in on ready client
  • Power BI 上个月 DAX 滚动总计

    我正在 POWER BI 中工作 并尝试计算上个月滚动总计的 DAX 表达式 我有一个过滤器 我选择某个月份 我想计算上个月的滚动总数 下面的计算非常适合计算所选日期范围的滚动总计 如何计算前几个月的滚动总额 Rolling Total C
  • 在 Android 中使用 Html.fromHtml() 突出显示文本颜色?

    我正在开发一个应用程序 其中会有一个搜索屏幕 用户可以在其中搜索特定关键字 并且该关键字应该是 突出显示 我找到了 Html fromHtml 方法 但我想知道这是否是正确的做法或 不是 请让我知道您对此的看法 或者比处理简单得多Spann
  • 仅从特定文件夹进行 Git 合并

    我已经为客户 X 创建了一个 Rails 网站 我现在有一个客户 Y 他想要一个与客户 X 执行完全相同的操作但具有不同外观的网站 我从 clientXcode 创建了一个 git 分支 并将其命名为 clientYcode 然后我对视图进
  • 有没有办法根据 R 中另一个数据框中的共享值构建成对数据框?

    例如 DF1 是 Id1 Id2 1 10 2 10 3 7 4 7 5 10 并想要 DF2 Id1 Id2 1 2 1 5 2 5 3 4 数据框 DF2 是 DF1 中 Id1 列中的一组值 它们共享 DF1 中 Id2 中的公共值
  • 将多维数组元素转换为不同类型

    假设我有这个多维数组 float vertices new float 0f 1 28f 1 28f 2 56f 3 84f 2 56f 5 12f 1 28f 3 84f 0f 1 28f 0f 0f 1 28f new float 0f
  • 使用数组方法的素数列表

    我有一个获取素数列表的代码 def primes numbers num primes 2 3 step Math sqrt num 1 2 do i is prime true primes each do p here if p gt
  • 单元测试 ASP.Net MVC 授权属性以验证重定向到登录页面

    这可能只是需要另一双眼睛的情况 我一定错过了一些东西 但我不明白为什么这种东西不能被测试 我基本上试图通过使用 Authorize 属性标记控制器来确保未经身份验证的用户无法访问视图 并且我尝试使用以下代码对此进行测试 Fact publi
  • 重新打开窗口抛出 Gtk-CRITICAL **:gtk_widget_get_window:断言“GTK_IS_WIDGET(小部件)”失败

    我有简单的 python3 gtk3 代码 它连接到 dbus 并监听所有事件 当用户单击托盘中的图标时 他必须看到包含所有显示的早期事件的窗口 代码 我不知道问题出在哪里并且代码大小 gt 100行 https github com ra
  • string.h 中的 strupr() 和 strlwr() 是 ANSI 标准的一部分吗?

    我在互联网上寻找这个 并且在每个具有 string h 功能的地方都没有提到这两个 是因为什么 它们并不存在于每个编译器中 它们是来自 Microsoft C 库的非标准函数 此后 MS 已弃用它们 转而采用重命名的函数 strlwr an
  • C++ 中的 OpenID 库?

    我需要在 C 网站中使用 openid 但找不到可以使用的工作库 我正在尝试使用这个 http kin klever net libopkele requirements 但它会停止配置并显示以下消息 检查 OPENSSL 配置 错误 未找
  • Django 在调试模式下损坏管道

    我在 Nginx 后面的远程服务器上有 django 1 3 如果我使用 apache mod wsgi 运行 django 我可以查看 apache 日志文件中的错误 没关系 但我想在控制台中使用 如果我运行 django 自己的开发服务