python - 是否有推荐的方法来按程序构建 html 报告

标签 python html templates report

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

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

这个问题似乎表明 HTML 构建模块不如新的模板模块理想: python html generator

我对 Jinja 和 Django 模板有点熟悉,但我不确定这在我的情况下如何工作。

感谢您的任何建议。

最佳答案

有多种方法可以从 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>
    

关于python - 是否有推荐的方法来按程序构建 html 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28242084/

相关文章:

python - 查询 SQLAlchemy 0.7.10 中的所有结果

javascript - 在下拉菜单上应用链接但下拉菜单在移动设备上不起作用

javascript - 如何在 $(document).ready 之前将 jQuery.js 包含在自己的 .js 中?

c++ - g++ 未报告未实例化模板中的某些错误

python - 在 Python 中解决有理数线性规划问题

python - 在列表理解中迭代列表的一部分

php - 从 HTML 表单中选取动态值并将其存储在 PHP 变量中

c++ - 接受 STL_container_type<string>::iterator 的模板化参数

c++ - 如何将模板构造函数特化移动到 cpp 文件?

python - 仅在第一个实例中使用正则表达式使用多个分隔符分隔