0

从 django 1.8 更新到 1.10.2 并在本地解决大部分错误后,我在生产中加载静态文件时得到 net::ERR_CONTENT_LENGTH_MISMATCH 和 net::ERR_EMPTY_RESPONSE。

当 debug 为 True 时,一切都在本地运行良好。在生产中,我获得了模板,但模板中引用的静态文件无法加载。

在 1.8 中一切正常。

我们在生产中使用 uwsgi。我不确定我们还在使用什么。但可以找出是否有必要。

还有其他人处理这个吗?有没有固定的?

谢谢。

4

1 回答 1

0

从 Django 1.10 开始,它不再从带有 HTTP204 状态代码的响应中剥离内容。

WSGI 处理程序不再从 HEAD 请求或 status_code 为 100-199、204 或 304 的响应中删除响应内容。大多数 Web 服务器已经实现了此行为。使用 Django 测试客户端检索到的响应继续应用这些“响应修复”。

https://docs.djangoproject.com/en/1.10/releases/1.10/#miscellaneous

我有问题的代码是:

return Response({}, status=status.HTTP_204_NO_CONTENT)

我改为:

return Response(status=status.HTTP_204_NO_CONTENT)
于 2017-07-25T16:48:00.993 回答