def render_to_response(self, context, **kwargs):
context['pdf'] = True
pdf_response = HttpResponse(content_type='application/pdf')
response = super().render_to_response(context, **kwargs)
response.render()
try:
html = HTML(string=response.content)
fileobj = io.BytesIO()
html.write_pdf(fileobj)
merger = PdfFileMerger()
merger.append(fileobj)
if self.object.science_case_file:
merger.append(self.object.science_case_file.file)
if self.object.experimental_design_file:
merger.append(self.object.experimental_design_file.file)
merger.write(pdf_response)
except Exception as exc:
error = 'There was an error generating your pdf. {}'
messages.error(self.request, error.format(str(exc)))
return HttpResponseRedirect(reverse('sciapplications:index'))
return pdf_response
评论列表
文章目录