Python要求モジュールは、djangoサーバーにファイルをアップロードできない

StackOverflow https://stackoverflow.com/questions/19853503

質問

Pythonクライアントを介してファイルをDjango Pythonサーバーにアップロードしようとしています。

私はこれを試しました -

import requests

url = 'http://wings.spectrumserver/sdm/lists'
files = {'file': open('file.ext', 'rb')}
r = requests.post(url, files=files)

しかし、どういうわけかそれは機能していません。 No error but no output/upload as well

ブラウザとコマンドラインによってファイルを正常にアップロードしています。

curl -i --form docfile=@localfilename http://wings.spectrumserver/sdm/lists

何をすべきか提案してください?

私はカールとパイソンについてあまり知りませんが、誰かがこのカールコマンドのレプリカである何かを提案することができるかもしれません pycurl すでにCurlで動作しているためです。

質問の詳細については、こちらをご覧ください -

Curlを使用してDjangoサーバーにファイルをアップロードします

役に立ちましたか?

解決

ここでの問題はファイル要素の名前だと思います。そのはず docfile. 。カールの例では、あなたはそれを渡しました docfile しかし、Pythonスクリプトでは、そのまま残しました file.

この行を変更します:

files = {'file': open('file.ext', 'rb')}

これに:

files = {'docfile': open('file.ext', 'rb')}

他のヒント

あなたのビューでリクエストを見ると、request.files ['file']でそれを見るかもしれません。ヘッダーファイルに悪い設定があったので問題がありました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top