使用报告实验室在循环条件下生成多个 PDF 文件



我在一个 django 项目中,并尝试使用 reportlab 在循环条件下生成多个 PDF 文件。

view.py

def pdftest(request, *args, **kwargs):
if request.method == 'POST':
for x in range(0, 3):
response = HttpResponse(content_type='application/pdf')
buffer = BytesIO()
doc = SimpleDocTemplate(buffer, pagesize=portrait(letter))
elements = []
ptext = 'Hellow World! --- %s' %x
styles=getSampleStyleSheet()
elements.append(Paragraph(ptext, styles['Normal']))
doc.build(elements)
response['Content-Disposition'] = 'attachment; filename="{}"'.format('test.pdf')
pdf = buffer.getvalue()
buffer.close()
response.write(pdf)
return response
context = {}
context['title'] = 'PDF TEST'
return render(request, 'companies/pdftest.html', context)

但是我的程序只生成一个PDF。你对这个问题有任何想法吗?

你在循环的第一遍调用return response,所以很明显你的程序永远不会到达第二遍或第三遍。

最新更新