Сохраните файл Excel по определенному пути с помощью Django, а затем запечатайте его в zip-архив
У меня есть следующее представление, которое позволяет мне создать отчет Excel, а затем запечатать его.
def download_report(request, slug):
report = get_object_or_404(Report, slug=request.session['slug'])
transporter_list = get_transporters_list_with_files(report=report.pk)
folder = create_report_folder()
if request.method == 'GET':
files = []
for transporter in transporter_list:
reports_detail = get_object_or_404(ReportResults, report=report,
transporter=get_object_or_404(Transporter, name=transporter))
general_result_data = reports_detail.result
weights_data = reports_detail.result_comparison_weights
file = create_excel_report(report=report, name=transporter, folder_name=folder)
files.append(file)
zip_files = create_zip_files(list_files=files)
response = serve_report_zip_file(zip_files)
return response
Поскольку должно быть создано несколько отчетов, я стремлюсь создать все отчеты, а затем заархивировать их. Я создал следующие функции:
Я хочу сохранить отчет в определенной папке и заархивировать все файлы. Однако при выполнении функции create_excel_report
у меня возникает следующая ошибка:
TypeError: expected str, bytes or os.PathLike object, not HttpResponse
Я пробовал не использовать BytesIO, но файлы Excel оказались поврежденными... Что я упускаю?