1、html模板
<!DOCTYPE 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>
</tr>
{% endfor %}
</table>
</body>
</html>
2、python代码
from jinja2 import Environment, FileSystemLoader
def generate_html(body, starttime, stoptime):
# 设置模板文件夹路径
template_folder = "./"
# 创建Jinja2环境
env = Environment(loader=FileSystemLoader(template_folder))
template = env.get_template('template.html')
with open("result.html", 'w+') as f:
html_content = template.render(start_time=starttime,
stop_time=stoptime,
body=body)
print(html_content)
f.write(html_content)
if __name__ == "__main__":
body = []
result = {'cabID': 1, 'shijian': 2019, 'final_result': "正常", 'info': "无"}
body.append(result)
generate_html(body, 2019, 2019)
参考链接:
https://docs.jinkan.org/docs/jinja2/templates.html#variables # Python之jinja2模板引擎生成HTML
# jinja自动补全
# python可视化库streamlit
https://www.yii666.com/blog/428589.html # python可视化库streamlit
https://docs.streamlit.io/library/get-started/main-concepts # streamlit库官方文档
https://docs.python.org/zh-cn/3/library/webbrowser.html # python webbrowser模块