Top / Programming / Python / Django TIPS / 画像やファイルをダウンロードさせる

画像やファイルをダウンロードさせる

HttpResponseオブジェクトのmimetypeとContent-Dispositionを適切に設定します。

Excelファイルをダウンロードさせる

response = HttpResponse(my_data, mimetype='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename=foo.xls'

CSVファイルをダウンロードさせる

from django.http import HttpResponse
import csv
def download(request):
    response = HttpResponse(mimetype='text/csv')
    response['Content-Disposition'] = 'attachment; filename=foo.csv'
    writer = csv.writer(response)
    writer.writerow(['スパム', 'エッグ', 'ベーコン'])
    writer.writerow(['spam', 'egg', 'bacon'])
    return response

更新履歴