【发布时间】:2018-09-16 16:27:52
【问题描述】:
我在一个 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)。你预计return之后会发生什么?