Я создал сайт с использованием Django и создал функцию, которая возвращает автоматически сгенерированный PDF из данных базы данных.
Для создания PDF я использую pyFPDF.
pdfreport = FPDF()
#Code for the PDF here
pdfreport.output(name='mypdf.pdf')
С этимкод все работает хорошо, PDF правильно сгенерирован. Но чтобы вернуть файл как HTTP-ответ, я сохраняю файл с dest='S'
и создаю ответ.
pdf = pdfreport.output(dest='S')
response = = HttpResponse(pdf, content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="mypdf.pdf"'
return(response)
Используя это, ответ правильный, и я получил файл для сохранения,Браузер загружает файл в формате PDF, но PDF-файл пуст. И я не знаю, почему это произошло.
Я попытался сохранить файл, открыть файл с помощью open()
и прикрепить его содержимое, но я все еще получил тот же результат, пустой PDF.
pdfreport.output(name=pdfname)
pdf = open(pdfname, 'r')
response = HttpResponse(pdf, content_type='application/pdf')
response['Content-Disposition'] = 'attachment; filename="mypdf.pdf"'
return(response)
Кто-нибудь, кто может мне помочь?