django - 使用reportlab在循环条件下生成多个PDF文件

问题描述 投票:0回答:1

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

view.朋友

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。你对这个问题有什么看法吗?

django pdf reportlab
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.