是否有推荐的方法来程序化地构建HTML报告

时间:2015-01-30 18:11:14

标签: python html templates report

我正在寻找有关如何将大量程序输出转换为HTML报告的建议。我现在基本上做的是手工制作报告。我正在使用的python程序非常庞大,并且在整个过程中都有大量的日志记录。我在报告中找到了我想要的日志记录部分,将其标记为HTML并将其附加到我的最终结果中。

我正在寻找一个HTML构建Python模块,希望它可能比手工格式化一堆字符串更优雅。

这个问题似乎表明HTML构建模块不如新模板模块更令人满意: python html generator

我对Jinja和Django模仿有点熟悉,但我不确定这对我的情况有何影响。

感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

有多种方法可以从Python生成HTML。

最干净的选择是使用模板引擎

  • 使用可变数据的占位符创建模板HTML报告
  • 使用提供此变量数据的上下文呈现模板

Python中有多个独立的(意思是Django不是一个选项)模板引擎:

示例(使用mako):

  • 创建index.tpl模板文件:

    <html>
    <head>
        <title>${title}</title>
    </head>
    <body>
        <h1>${header}</h1>
    </body>
    </html>
    
  • 在python代码中,创建一个Template()实例并渲染模板:

    >>> from mako.template import Template
    >>> template = Template(filename='index.tpl')
    >>> print template.render(title='My Title', header='My Header')
    <html>
    <head>
        <title>My Title</title>
    </head>
    <body>
        <h1>My Header</h1>
    </body>
    </html>