Я успешно использую Weasyprint для создания pdf, пока не достигну определенного размера, распространенного варианта использования моего приложения, когда генерация pdf занимает так много времени (более 10 с), что прерывает соединение с браузером и скачивание невозможно.
Я полагаю, я должен передать создание файла и вернуть django StreamingHttpResponse (согласны?). Я не стал бы предварительно обрабатывать PDF-файл, потому что он состоит из корзин с элементами, которые пользователи часто добавляют или удаляют.
Но как я могу создать поток создания файла с помощью weasyprint ? Даже если я разрежу свою строку sourceHtml по частям, как написать pdf шаг за шагом?
Я визуализирую шаблон django и генерирую из него PDF:
from weasyprint import HTML
sourceHtml = template.render(my-objects)
outhtml = HTML(string=sourceHtml).write_pdf()
response = HttpResponse(outhtml, content_type='application/pdf')
response['Content-Disposition'] = u'attachment; filename="{}.pdf"'.format(name)
Или есть другой способ решить эту проблему?
Спасибо !