首页 > 其他分享 >Jinja2模块生成html

Jinja2模块生成html

时间:2023-09-01 15:11:36浏览次数:46  
标签:body 模块 python html Jinja2 nbsp https template

1、html模板

<!DOCTYPE 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>
        </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
      https://blog.csdn.net/zong596568821xp/article/details/100522584     # Python之jinja2模板引擎生成HTML
      https://www.cnblogs.com/noKing/p/8117461.html     # jinja自动补全
      https://www.cnblogs.com/wengzx/p/16837339.html     # 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模块

标签:body,模块,python,html,Jinja2,nbsp,https,template
From: https://www.cnblogs.com/xwupiaomiao/p/17671939.html

相关文章

  • 三河凡科科技飞讯教学篇:学习振弦采集模块的开发基本原理
    三河凡科科技飞讯教学篇:学习振弦采集模块的开发基本原理振弦采集模块是一种用于测量物体振动、形变、压力等物理量的电子设备。它通过测量物体的振动变化,可以得出物体在不同条件下的动态特性,对于工程设计、科学研究、医学检测等领域都有广泛应用。本文将介绍振弦采集模块的开发基......
  • js实现html页面翻译
    引入js库 <scriptsrc="https://res.zvo.cn/translate/translate.js"></script> 在页面最底部加入js代码//translate.ignore.tag.push('span');//翻译时追加上自己想指定忽略的tag标签,凡是在这里面的,都不进行翻译。//translate.ignore.class.push('test'); //翻译时指定......
  • HTML: input file
    <input> elementswith type="file" lettheuserchooseoneormorefilesfromtheirdevicestorage.Oncechosen,thefilescanbeuploadedtoaserverusing formsubmission,ormanipulatedusingJavaScriptcodeand theFileAPI. ......
  • nginx--添加stream模块
    使用的是openEuler22.03(LTS-SP2)系统,yum源选择清华大学的源清楚yum缓存后重新加载,nginx版本变成1.23.2[[email protected]]#yuminfonginxLastmetadataexpirationcheck:0:21:11agoonFri01Sep202310:29:45AMCST.InstalledPackagesName:......
  • HTML5新特性 拖拽使用心得
    本文主要介绍了拖拽和拖放的几个属性先构建一个框架<div id="wrap">        <img id="drag" src="" draggable="true">    <div id="drop" >        <span>目标区域</span>    </div></div>draggable......
  • ansible常用模块使用熟练!!!
    快速上手Ansible以及常见模块应用原创 北极星 运维记事 2023-06-2521:52 发表于四川收录于合集#Linux19个Playbook介绍Ansibleplaybook剧本介绍在ansible中,类似”脚本”的文件被称作”剧本”,英文名称为’playbook’,用于配置,部署,和管理被控节点我们只需要把......
  • os模块 | os.walk()用法
    os.walk()是Python标准库os模块中的一个函数,用于递归遍历目录结构,返回当前目录及其子目录中的所有文件和文件夹。下面是os.walk()函数的用法示例:导入模块:importos使用os.walk()遍历目录:start_path='/path/to/directory'forroot,dirs,filesinos.walk(......
  • BOSHIDA DC电源模块在仪器设备中使用的突出表现
    BOSHIDADC电源模块在仪器设备中使用的突出表现DC电源模块是一种广泛应用于各种电子设备中的电源设备,它的最显著特点就是可以将电源直接转换为直流电,而且可以根据需要进行稳定地输出,这使得它在很多领域都有着广泛的应用。在仪器设备中,DC电源模块的使用具有以下几个突出的表现:......
  • html5之拖放详解
    拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在HTML5中,拖放是标准的一部分,任何元素都能够拖放。InternetExplorer9、Firefox、Opera12、Chrome以及Safari5支持拖放。1.drggable属性如果网页元素的draggable元素为true,这个元素就是可以拖动的。<div draggable......
  • HTML中行内样式的修改
    遇到的问题:具体的HTML代码:解决办法,在前端页面中修改样式<style>.layui-table-main{height:100%!important;}</style>该问题中style样式是行内样式,所以在修改代码时记得加上important来增加权重。......