在Python Flask(Heroku)App中呈现多个HTML页面

时间:2017-06-15 16:22:49

标签: python heroku flask jinja2 weasyprint

我正在尝试将多个HTML页面提供给单个页面,然后将该最终单页作为PDF提供。我总共有95页,我已经使用以下堆栈实现了这一点;

  1. Python / Flask
  2. WeasyPrint HTML to PDF Creator
  3. Jinja Templating using include

    {% include 'page1.html' %}
    {% include 'page2.html' %}
    ...
    ...
    {% include 'page95.html' %}
    
  4. Heroku部署

  5. gunicorn和nginx在制作中的Flask旁边
  6. 我的问题是,最终页面需要超过80秒才能显示为PDF(即:包含95个其他html页面的最终html页面)。 Heroku可以保持连接只有28-30秒。有什么方法可以加快提供最终PDF的过程吗?

    多线程会有帮助吗? (我可能需要阅读如何做到这一点 - 不是专家)我已经在我的应用程序中有这个

        app.run(threaded=True)
    

    如果我在这里使用任何不明确的条款,请道歉。

1 个答案:

答案 0 :(得分:0)

在尝试了一些事情后,我认为减少时间的最佳方法是简单地使用Reportlab并从单个页面制作PDF。然后我将使用

  

pyPDF2

将所有这些单页合并为一个PDF文件进行下载。如果我能够成功执行它,我会将此标记为答案!