ここでDjangoのドキュメントに従って、CSVファイルを作成しています。私のurls.pyには。がありurl(r'^reports/csv_list_report/$', 'csv_list_report')
ます。
ダウンロードボタンをクリックしたときにCSVファイルをダウンロードしてほしい。だから私はここでjQueryを使用します:
$('#download_button').click(function(){
$.get('/reports/csv_list_report/');
});
ファイアバグで応答を確認できますが、ブラウザがファイルをダウンロードしません。
これが私の見解です:
def csv_list_report(request):
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename="reports.csv"'
writer = csv.writer(response)
writer.writerow(['First row', 'Foo', 'Bar', 'Baz'])
writer.writerow(['Second row', 'A', 'B', 'C', '"Testing"', "Here's a quote"])
return response
それで、おそらくGETの後で、成功したときの応答を処理するために何かを書く必要がありますか?調べてみると、CSVファイルの作成方法についてはたくさんの答えがありますが、応答を処理するために何をする必要があるかなど、答えは見つかりませんでした。