簡単な方法はありますか?Django HttpResponse - ファイルと内容の応答
ビューでリクエストを取得した後、 ファイルとページの再レンダリングされたテンプレートをユーザーに返しますか?
filename = "/path/to/somewhere"
wrapper = FileWrapper(open(filename))
content_type = mimetypes.guess_type(filename)[0]
response = HttpResponse(wrapper,content_type=content_type)
response['Content-Length'] = os.path.getsize(filename)
response['Content-Disposition'] = "attachment; filename=%s"%filename
return response
これは私がレンダリングされたデータで通常のテンプレートを返す方法を示します:
data = getData()
return render_to_response('../templates/some_template.html', {'data': data,})
これは私がファイルに応答を返す方法ですファイルをREPONSEを「マージ」と
をrender_to_responseよう 何か
(私はコピー&ペーストして、いくつかの重要な行を落としているかもしれませんが、私のポイントを作るために - このコードは動作しますが、問題は、これら2つのコードサンプルではありません)
質問は:どのように私はそれらを一緒に "マージ"するのですか? django標準機能でこれを行う簡単な方法はありますか? これにはAjaxを使用する必要がありますか?あなたはハイパーテキスト転送プロトコル、ユーザーが対話する方法の表示を簡略化する場合
おかげで、
です。これはどのように機能しますか? –
同じ回答内に2つのコンテンツがありますか?簡単な方法はありません。あなたはおそらくAjaxに行くべきです。 –
ダニエル - 私は一度に2つのジョブを実行したい - ページにボタンを持っている - ユーザーにファイルを送信し、新しいデータでページの "div"セクションを更新します。おそらく私がここで提案していたもの(2回のリクエストを一度に使用する)は解決策ではありませんが、適切なユーザーエクスペリエンスを得るための考え方は歓迎されます – nivniv