django - генерирует несколько файлов PDF в состоянии цикла, используя reportlab - PullRequest
0 голосов
/ 16 сентября 2018

Я нахожусь в проекте django и пытаюсь сгенерировать несколько файлов PDF в циклическом режиме с использованием reportlab.

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.Есть ли у вас какие-либо идеи по поводу этой проблемы?

1 Ответ

0 голосов
/ 16 сентября 2018

Вы вызываете return response на первом проходе вашего цикла, поэтому очевидно, что ваша программа никогда не достигнет второго или третьего прохода.

...