[英]How do I post a lot of data to Django?
我正在尝试将文件列表发送到我的Django网站。 使用以下信息传输每个集合:
现在,假设我有100个这样的数据集,我想将它发送到我的Django网站,我应该使用的最佳方法是什么?
PS:我正在考虑使用JSON,然后将JSON数据发布到我的Django URL。 数据可能如下所示:
{
"files": [
{ "filename":"Movie1" , "filesize":"702", "filelocation":"C:/", "filetype":"avi" },
{ "filename":"Movie2" , "filesize":"800", "filelocation":"C:/", "filetype":"avi" },
{ "filename":"Movie3" , "filesize":"900", "filelocation":"C:/", "filetype":"avi" }
]
}
我认为将json数据发送到您的服务器是有道理的。 现在要实际实现它,您需要服务器接受将用于发送有关文件数据的http POST
请求。
因此,服务器代码可能如下所示:
import myapp
# ...
urlpatterns = patterns('', url(r'^json/$',myapp.serve_json), #http://<site_url>/json/ will accept your post requests, myapp is the app containing view functions
#add other urls
)
#other code
import json
def serve_json(request):
if request.method == 'POST':
if 'files' in request.POST:
file_list = json.loads(request.POST['files'])
for file in file_list:
#do something with each file dictionary in file_list
#...
return HttpResponse("Sample message") #You may return a message
raise Http404
现在,在桌面应用程序中,一旦获得了文件词典列表,就可以执行以下操作:
import urllib,json
data = urllib.urlencode({'files':json.dumps(file_dict)}) #file_dict has the list of stats about the files
response = urllib.urlopen('http://example.com/json/', data)
print response.read()
您也可以查看urllib2
和httplib
并使用它们代替urllib
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.