Python - 使用额外数据将文件发布到Django

时间:2016-08-22 02:17:08

标签: python django

我试图让我的django rest框架应用程序接受文件上传。上传应附有描述文件的附加数据,并且是后处理所必需的。上传文件似乎工作正常,但是,我似乎无法让django应用程序访问其他数据。例如,我有一个文件more_info.html,我试图将其上传到我的应用:

import requests

url = "http://www.example.com/fileupload"
files = {'file':open('more_info.html','rb')
data = {'brand':'my brand','type':'html','level':'dev'}
headers = {'Content-type': 'multipart/form-data', 'Content-Disposition': 'attachment; filename="more_info.html"'}
r = requests.post(url,files=files,data=,headers=headers)

在我的Django视图中,我尝试使用以下内容查看我的POST数据:

def post(self, request):
    print(request.POST)
    print(request.FILEs)

两个印刷语句都在返回:

{u'file': <InMemoryUploadedFile: more_info.html (multipart/form-data)>}

如何在请求POST中访问其余数据?

1 个答案:

答案 0 :(得分:0)

这一行

r = requests.post(url,files=files,data=,headers=headers)

您似乎缺少将数据分配给data =。