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>巡检地点 : 机房 开始时间 : {{start_time}} 结束时间 : {{stop_time}} </p>
<p>检测结果 : *** 其它信息:***</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