5

ファイルのリストをDjangoWebサイトに送信しようとしています。各セットは、次の情報とともに送信されます。

  • ファイル名、
  • ファイルサイズ、
  • ファイルの場所、
  • ファイルタイプ

ここで、そのようなデータセットが100個あり、それをDjango Webサイトに送信したいとします。使用するのに最適な方法は何ですか?

PS:JSONを使用することを考えていて、そのJSONデータをDjangoURLにPOSTしました。その場合、データは次のようになります。

{
  "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" }
  ]
}
4

1 に答える 1

3

サーバーにjsonデータを送信するのは理にかなっていると思います。POST実際に実装するには、ファイルに関するデータの送信に使用する httpリクエストをサーバーが受け入れる必要があります。

したがって、サーバーコードは次のようになります。

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

を調べて、の代わりに使用することもurllib2できhttplibますurllib

于 2012-12-16T06:56:28.817 に答える