@ brunns указал в очень правильном направлении.
Вам не нужно сохранять файл в вашей базе данных, в вашей файловой структуре или где-либо еще.Он будет создан в памяти по запросу пользователя.
Я сделал это с django для pdf
, а для csv
файлов это будет работать так же, как и с flask.Основы все одинаковы.
для python3
используйте io.StringIO
, для python2
используйте StringIO
from io import StringIO
import csv
from flask import make_response
@app.route('/download')
def post(self):
si = StringIO.StringIO()
cw = csv.writer(si)
cw.writerows(csvList)
output = make_response(si.getvalue())
output.headers["Content-Disposition"] = "attachment; filename=export.csv"
output.headers["Content-type"] = "text/csv"
return output
Предоставлено: vectorfrog