我遇到了一个非常奇怪的问题。我确实从programm卸载。并且注意到有时由于某种原因文件没有上传到Django服务器。开始挖掘,放Charly查看正在发送的数据包。我看到Djnago正在关闭连接。
因此,您当然不能使用这些文件。 我开始研究可能是什么问题。播放并使用DATA_UPLOAD_MAX_MEMORY_SIZE,并进行了len(request.body)。没有任何帮助,混乱的Django关闭了连接。防火墙也将其关闭。我想到了逐渐断开中间件的想法。关于奇迹,一切都开始了。
最后,它证明是CommonMiddleware。
接下来,我试图找到一个确实出现错误的地方。我找到了。
如果您在此代码段之前放置返回响应,那么一切都会正常进行。
但是,为什么正是因为这个地方,我才不去旅行。断点没有帮助,通过它们传递并关闭了连接。请帮助,我不知道该怎么办。谢谢!
class Exchange(View):
def get(self, request):
request_type = request.GET['type']
request_mode = request.GET['mode']
if request_type in ('catalog', 'sale') and request_mode == 'checkauth':
response = HttpResponse()
response.write('success\n')
response.write('sessionid\n')
response.write('123456789')
return response
if request_type in ('catalog', 'sale') and request_mode == 'init':
response = HttpResponse()
response.write('zip=no\n')
response.write(f'file_limit={settings.DATA_UPLOAD_MAX_MEMORY_SIZE}')
return response
if request_type == 'catalog' and request_mode == 'import':
return HttpResponse('success')
return HttpResponse('failure')
def post(self, request):
len(request.body)
return HttpResponse('success')
@method_decorator(csrf_exempt)
def dispatch(self, request, *args, **kwargs):
return super().dispatch(request, *args, **kwargs)