python 通过模版生成html

2021-06-23  本文已影响0人  默默_小鱼

1 jinja2介绍

Jinja2 是一个现代的,设计者友好的,仿照 Django 模板的 Python 模板语言。 它速度快,被广泛使用,并且提供了可选的沙箱模板执行环境保证安全,关于jinja2的文档介绍。

安装方法

sudo pip install jinja2

2 模板文件

接下来制作一个模板文件template.html,直接给代码(超链接形式)

<meta http-equiv="Content-Type"content="text/html;charset=utf-8">

<html align='left'>

<h1>巡检报告</h1>

    <body>

    <h2>报告综述</h2> 

    <p>巡检地点 : 机房&nbsp;&nbsp;开始时间 : {{start_time}}&nbsp;&nbsp;结束时间 : {{stop_time}}  </p>

    <p>检测结果 : ***&nbsp;&nbsp;其它信息:***</p>

    <h2>详细信息</h2> 

    <table border="1" width = "40%" cellspacing='0' cellpadding='0' align='left'>

    <tr>       

        <th>机柜号</th>

        <th>检测时间</th>

        <th>检测结果</th>

        <th>详细信息</th>

        <th>图片路径</th>

    </tr>

    {% for item in body %}

    <tr align='center'>

        <td>{{ item.cabID }}</td>

        <td>{{ item.shijian }}</td>

        <td>{{ item.final_result }}</td>

        <td>{{ item.info }}</td>

        <td><a href={{item.image_path}}>图片</a> </td>

    </tr>

    {% endfor%}

    </table>

    </body>

</html>

3 测试方法

我们写一个脚本程序,用来调用上述模板,生成指定的结果文件result.html

from jinja2 import Environment, FileSystemLoader

def generate_html( body, starttime, stoptime):

    env = Environment(loader=FileSystemLoader('./'))

    template = env.get_template('template.html')   

    with open("result.html",'w+') as fout: 

        html_content = template.render(start_time=starttime ,

                                        stop_time=stoptime,

                                        body=body)

        fout.write(html_content)

if __name__ == "__main__":

    body = []

    result = {'cabID':1, 'shijian':2019, 'final_result':"正常", 'info':"无",

                'image_path':"test.jpg"}

    body.append(result)           

    generate_html(body, 2019, 2019)

————————————————

版权声明:本文为CSDN博主「ZONG_XP」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/zong596568821xp/article/details/100522584

上一篇 下一篇

猜你喜欢

热点阅读