私は現在、djangoで書かれたファイルをサービスエンドポイントに投稿しようとしています。
私はこのような例をたくさん見つけることができます(ここから行使します):
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
handle_uploaded_file(request.FILES['file'])
return HttpResponseRedirect('/success/url/')
........
しかし、HTMLフォームから送信されていないときにサーバーにファイルを渡すことができるテストクライアントまたはurllibのいずれかを使用してリクエストを行うにはどうすればよいですか? 私は現在、ファイルの内容をjson文字列にurlencodeしてから、それを渡そうとしています。しかし、それは面倒であることが証明されています。
以下の回答に加えて:
- サービスのcsrfを免除することを忘れないでください
- コンテンツタイプを設定したり、明示的にマルチパートに設定したりしないでください。
- ビューで受信ファイルを処理する方法については、これを参照してください。