使用Django 1.5和Python 2.7.3。
演示我的问题的简单示例。我无法使用Python +请求将文件发送到我们的Django webapp。我正在使用一个驻留在我的计算机上的脚本,并使用Django的内置服务器进行测试(也在本地运行)。
我已按照the example here了解如何发布文件,但requests.FILES
为空。
import requests
import os
url="http://<myurl>/upload"
files={'file':('myfile.txt', open('myfile.txt', 'rb'))}
r=requests.post(url, files = files)
r.text # Number of files in request.FILES: 0
def upload(request):
return HttpResponse("Number of files in request.FILES: {0}".format(len(request.FILES)))
修改
标题:{'date': 'Tue, 11 Jun 2013 15:10:13 GMT', 'content-type': 'text/html; charset=utf-8', 'server': 'WSGIServer/0.1 Python/2.7.3'}
网址正确(我可以在脚本中看到响应文字)。当我将URL指向http://httpbin.org/post
时,该脚本可用,如示例中所示。
我遗失的requests.post
中有什么东西吗?
答案 0 :(得分:0)
在一个有点尴尬的时刻,事实证明你真的需要URL中的尾随正斜杠。
url="http://<myurl>/upload/"