Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 计算完全提交的请求_Python_Html_Django_Browser_Django Middleware - Fatal编程技术网

Python 计算完全提交的请求

Python 计算完全提交的请求,python,html,django,browser,django-middleware,Python,Html,Django,Browser,Django Middleware,我对Django(我的工作经验)并不陌生,但我有一个我无法处理的奇怪任务。 所以我必须写对写中间件来计算请求,但只计算那些未被客户端中止的请求(在浏览器中完全呈现的请求) 我发现,当客户端中止连接时,服务器(Python)抛出errno 32断开的管道,因为它来自对套接字的不成功写入[我认为连接服务器客户端是TCP,所以这并不奇怪] 但问题是,我找不到一种方法来检查浏览器是否完全呈现页面,或者检查是否发生了该错误(当然,该错误可能有另一个来源,但这将是一个良好的开端) 哦,我不想使用JS(对于J

我对Django(我的工作经验)并不陌生,但我有一个我无法处理的奇怪任务。 所以我必须写对写中间件来计算请求,但只计算那些未被客户端中止的请求(在浏览器中完全呈现的请求)

我发现,当客户端中止连接时,服务器(Python)抛出errno 32断开的管道,因为它来自对套接字的不成功写入[我认为连接服务器客户端是TCP,所以这并不奇怪]

但问题是,我找不到一种方法来检查浏览器是否完全呈现页面,或者检查是否发生了该错误(当然,该错误可能有另一个来源,但这将是一个良好的开端)


哦,我不想使用JS(对于JS来说,这是小菜一碟),但我可以使用HTML5(如果有帮助的话…

我可能已经找到了你问题的答案,那就是。然后,您可以在页面完全发送到客户端之后增加所需的内容

该示例将HttpResponse子类化,并在视图中显式返回派生类的实例。如果您有许多不想覆盖的视图,也许可以在子类定义下尝试这段代码

HttpResponse.__bases__ += (FullLoggingHttpResponse,)

您可以尝试在页面的最底部放置一个web bug(1px x 1px)图像。可能通过
视图()加载它(与从静态服务器加载相反)。不能保证页面在该点上100%呈现,但应该大部分完成。既然你在检查中没有提到JS,那么我假设你没有在页面本身使用任何JS。是的,我在考虑这个问题(我已经做过类似的smth),但我不确定这是否是我的“客户”想要的。他说,中间件……听起来你的客户可能在做我称之为“过度指定”的事情:过度指定期望的最终结果以及如何实现它。假设这不是一个家庭作业,这可能是一个很好的时间与您的客户坐下来,澄清所期望的最终结果,然后在如何实现它上坚持一些技术独立性。它看起来很有希望,我稍后会检查它。如果行得通,我就接受。关于你所说的问题,我认为装修工会做这项工作。