繁体   English   中英

如何将大量数据发布到Django?

[英]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请求。

因此,服务器代码可能如下所示:

urls.py:

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

views.py

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()

您也可以查看urllib2httplib并使用它们代替urllib

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM