我在使用Python 3.5的Django应用程序中接收POST请求(不是来自Web表单,而是来自Unity应用程序)。我的目标是发送图像数据。我可以确认Unity正确生成图像,根据他们的文档,我正确地发送它。
POST请求命中我的本地服务器,但无论我如何构建Unity的请求,Django request.POST
和request.FILES
都是空的。但是,如果我将request.body
读入.txt
文件,我可以看到完全正常的请求:
--pGBzDSypIQO4aFVbs4sjTmbBN5OpW3Huawm0D0ib
Content-Disposition: file; name="drawing"; filename="drawing.png"
Content-Type: multipart/form-data
‰PNG
IHDR ð ð :R¼ IDATxìØÁ 0±¶ûïœÐ1”
// etc...
还尝试了其他标头或发送虚拟POST数据。即使是最简单的表单数据也无法填充request.POST
:
--hwlDqmtVKZ2EPkOJ7GuauDZNlYdE4nf4yNbGt9WR
Content-Disposition: form-data
Content-Type: text/plain; encoding=utf-8
a=b
这看起来格式不正确吗?无论我如何发送东西,据我所知,Django的request.POST
没有填充。有什么建议?那些要求中的某些东西看起来不合适?知道Django如何请求需要以便可读?很想知道,谢谢!
答案 0 :(得分:0)
好的,这已经解决了。我使用的是Python 3.5和Django测试服务器,错误地认为TensorFlow仅支持< = 3.5.x.当将应用程序移动到Heroku生产服务器(以查看它是否会有不同反应)时,我不得不烘焙一个requirements.txt文件,并且这样做我发现我确实可以使用最新的Python版本3.6.4。切换到该版本使Django测试服务器开始正确接收请求。我仍然需要一整套边界生成字符串构建代码,但它确实有效!