Python 使用Django传递文件对象
我试图检索一个文件,然后通过POST提交将其上载到Parse.com。我的HTML:Python 使用Django传递文件对象,python,django,parse-platform,Python,Django,Parse Platform,我试图检索一个文件,然后通过POST提交将其上载到Parse.com。我的HTML: <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <div class="container"> <form action="" id="fileupload" name="fileuploa
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<div class="container">
<form action="" id="fileupload" name="fileupload" enctype="multipart/form-data" method="post">
{% csrf_token %}
<fieldset>
<input type="file" name="fileselect" id="fileselect" /></input>
<input type="hidden" name="myFile" id="myFile" />
<input id="uploadbutton" type="submit" value="Upload to Parse" />
</fieldset>
</form>
</div>
这似乎是一个常见的用例,但我找到的唯一文档是ajax,我不想使用它,因为它公开了我的API凭据
我不知道什么是最好的方式来处理文件。。。如果有办法在Django框架内处理,或者需要转换为JSON。而且,即使捕获了文件对象,我也不清楚如何将Parse.com API用于文件对象。经过一些研究,结果证明答案非常简单。使用Django网站上的“基本文件上载”文档:并替换
open('myPicture.jpg', 'rb').read()
在解析文档(在上述问题中引用)中
我成功地上传了要解析的文件。不需要javascript
import json,httplib
connection = httplib.HTTPSConnection('api.parse.com', 443)
connection.connect()
connection.request('POST', '/1/files/pic.jpg', open('myPicture.jpg','rb').read(), {
"X-Parse-Application-Id": "xxxxxxxxxxxxxxxxxxxxx",
"X-Parse-REST-API-Key": "xxxxxxxxxxxxxxxxxxxxxxx",
"Content-Type": "image/jpeg"
})
result = json.loads(connection.getresponse().read())
print result
open('myPicture.jpg', 'rb').read()
request.FILES['file']