1Python生成高质量Html文件:Pyh模块+Bootstrap框架
一,介绍
QQ交流群:585499566
本文的目的是怎么使用Pyh+Bootstrap快速生成简约,大方,清新的Html页面,涉及到的技能:Python小白技能,Pyh会阅读中文文档,Html基础,Bootstrap能阅读懂中文文档
Python:当然是Python3了...
Pyh:是这位大神 https://code.google.com/p/pyh/wiki/UserManual 制作,需要连接代理才能查看哈,好在有人做了翻译:https://www.jianshu.com/p/dc2ddd8e80cc
在翻译连接里,有具体的使用描述,这里不做介绍了哈
功能介绍:
- 自动格式化HTML标签
- 高度可定制
- 完全识别CSS和Javascript
- 自动闭合标签
- 面向对象的HTML编写方式
Html:能够找到这篇文章,肯定是懂得使用HTML代码的,为了防止“小白”看到这篇文章不知所措,就贴上公认的HTML参考网站w3school:http://www.w3school.com.cn/tags/tag_html.asp
Bootstrap:是css,js框架,可以美化的页面,将“丑八怪”变成“美少女”,哈哈... 这是中文使用地址,建议用3:https://v3.bootcss.com/
这里让你们看下“丑八怪”与“美少女”的对比:
是不是变的美了很多啊,啊,你说还不太美,想变成“西施”,那就需要你再帮帮它化下妆了......这好像证明了:天下了没有丑女人,只有懒女人
二、实操
说的再多,却不贴代码,就是耍流氓,耽误阅读者的时间,浪费别人的青春
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 from pyh import * 5 6 page = PyH('接口测试报告') #第一步:需要先生成含标题的HTML模板 7 page.addCSS('https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css') #第二步:需要加载我们要使用的Bootstrap模板css文件,需要的话还可以加载js 8 Container = page << body(id='Body', cl='bg-warning') << div(id="container",cl="container") #第三步:通过移位符“<<”,来生成所属标签;“<<”左侧最终必须是page 9 10 # 报告标题 start 11 Headrow = Container << div(id="Headrow", cl="row") 12 Headrow << h1(id="HeadH1",align="center") << strong("API_AutoTest_Report ",id="HeadTxt") + small("Sonny.zhang", id="author") 13 Headrow << br() 14 # 报告标题 end 15 16 # 数据统计 start 17 Totalrow = Container << div(id="Totalrow", cl="Totalrow") << div(cl="jumbotron") 18 # --测试使用时间,测试用例总数-- 19 test_time_txt = ["测试总耗时:", "0:00:04.307585"] 20 case_num = ["用例总数:", "7"] 21 UTimerow = Totalrow << div(id="UTimerow", cl="row") 22 UTimerow << div(cl="col-xs-12 col-md-6") << p(role="presentation") << span(test_time_txt[0]) << span(test_time_txt[1], cl="label label-default") 23 UTimerow << div(cl="col-xs-12 col-md-6") << p(role="presentation") << span(case_num[0]) << span(case_num[1],cl="label label-primary") 24 # --用例失败成功统计-- 25 Num1_txt = ["成功用例数(Pass):", "3"] 26 Num2_txt = ["失败用例数(Fail):", "2"] 27 Num3_txt = ["出错用例数(Error):", "2"] 28 Num4_txt = ["未执行用例数(Block):", "1"] 29 Amountrow = Totalrow << div(id="Amountrow", cl="row") 30 Num1 = Amountrow << div(id="Num1", cl="col-xs-12 col-md-3") << p(role="presentation") << span() << small(Num1_txt[0]) << span(Num1_txt[1], cl="label label-success") 31 Num2 = Amountrow << div(id="Num2", cl="col-xs-12 col-md-3") << p(role="presentation") << span() << small(Num2_txt[0]) << span(Num2_txt[1], cl="label label-danger") 32 Num3 = Amountrow << div(id="Num3", cl="col-xs-12 col-md-3") << p(role="presentation") << span() << small(Num3_txt[0]) << span(Num3_txt[1], cl="label label-warning") 33 Num4 = Amountrow << div(id="Num4", cl="col-xs-12 col-md-3") << p(role="presentation") << span() << small(Num4_txt[0]) << span(Num4_txt[1], cl="label label-default") 34 # 数据统计 end 35 36 # 测试计划 start 37 Plans = Container << div(id="plans", cl="row") 38 # --栏目标题-- 39 plans_title = "测试用例摘要" 40 PlansTitle = Plans << div(id="plans-title", cl="panel panel-primary") << div(cl="panel-heading") << strong() << center(plans_title, cl="text-uppercase") 41 42 # --一个测试计划-- start 43 Plan1 = Plans << div(id="plan1", cl="col-xs-12 col-md-12") << table(cl="table table-striped") 44 # ---一个标题-- 45 plan1_title = "测试计划【项目名称:APItest, 计划名称:user_operation】" 46 Plan1 << center() << caption(plan1_title) 47 # --一个列表-- 48 # 表头 49 thead1 = ["ID", "执行编号", "用例ID", "用例外部ID", "用例名称", "用例套件", "执行结果", "运行时间"] 50 Thead1 = Plan1 << thead() 51 Thead1 << tr() << th(thead1[0]) + th(thead1[1]) + th(thead1[2]) + th(thead1[3]) + th(thead1[4]) + th(thead1[5]) + th(thead1[6]) + th(thead1[7]) 52 # 表体 53 tbody1 = ["151", "20180804110924", "1079", "APItest-1", "获取token", "获取token", "Pass", "2018-08-04 11:09:24"] 54 Error = "Error" 55 Tbody1 = Plan1 << tbody() 56 Tbody1 << tr() << th(tbody1[0], scope="row") + td(tbody1[1]) + td(tbody1[2]) + td(tbody1[3]) + td(tbody1[4]) + td(tbody1[5]) + td(tbody1[6]) + td(tbody1[7]) 57 Tbody1 << tr() << th(tbody1[0], scope="row") + td(tbody1[1]) + td(tbody1[2]) + td(tbody1[3]) + td(tbody1[4]) + td(tbody1[5]) + td(p(Error, cl="label label-danger")) + td(tbody1[7]) 58 # --一个测试计划-- end 59 # 测试计划 end 60 61 # 测试用例 start 62 Cases = Container << div(cl="row") 63 # --栏目标题-- 64 cases_title = "用例执行明细" 65 CasesTitle = Cases << div(cl="panel panel-primary") << div(cl="panel-heading") << strong(center(cases_title, cl="text-uppercase")) 66 # --一个测试用例-- start 67 Case1 = Cases << div(cl="col-xs-12 col-md-12") << table(cl="table table-striped") 68 # ---一个标题-- 69 Case1_title = "测试计划【项目名称:APItest, 计划名称:user_operation】" 70 Case1 << center() << caption(plan1_title) 71 # --一个列表-- 72 # 表头 73 thead1 = ["ID", "执行编号", "用例ID", "用例外部ID", "用例名称", "用例套件", "执行结果", "运行时间"] 74 Case1Thead1 = Case1 << thead() 75 Case1Thead1 << tr() << th(thead1[0]) + th(thead1[1]) + th(thead1[2]) + th(thead1[3]) + th(thead1[4]) + th(thead1[5]) + th(thead1[6]) + th(thead1[7]) 76 # 表体 77 tbody1 = ["151", "20180804110924", "1079", "APItest-1", "获取token", "获取token", "Pass", "2018-08-04 11:09:24"] 78 Error = "Error" 79 Case1Tbody1 = Case1 << tbody() 80 Case1Tbody1 << tr() << th(tbody1[0], scope="row") + td(tbody1[1]) + td(tbody1[2]) + td(tbody1[3]) + td(tbody1[4]) + td(tbody1[5]) + td(tbody1[6]) + td(tbody1[7]) 81 Case1Tbody1 << tr() << th(tbody1[0], scope="row") + td(tbody1[1]) + td(tbody1[2]) + td(tbody1[3]) + td(tbody1[4]) + td(tbody1[5]) + td(p(Error, cl="label label-danger")) + td(tbody1[7]) 82 # --一个测试计划-- end 83 # 测试计划 end 84 85 page.printOut('Pyh_Template.html')
在代码中我已经注释了Pyh的使用要点:“<<”,还有任何问题,可以加群进行解答,交流
转载于:https://www.cnblogs.com/1fengchen1/p/9440881.html
1Python生成高质量Html文件:Pyh模块+Bootstrap框架相关推荐
- python pyh模块下载_1Python生成高质量Html文件:Pyh模块+Bootstrap框架
1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 4 from pyh import * 5 6 page = PyH('接口测试报告') #第一步: ...
- 无需用户输入,Adobe提出自动生成高质量合成图像新方法
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 没有用户输入,也能生成高质量的合成图像吗? 编辑:迈威AI研习社 ...
- 无需用户输入!Adobe提出自动生成高质量合成图像新方法
点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要15分钟 Follow小博主,每天更新前沿干货 本文转载自:机器之心 | 作者:He Zhang等 编辑:小舟.杜伟 没有用户输入,也能生 ...
- 科技最前沿!Adobe提出自动生成高质量合成图像新方法
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:机器之心 AI博士笔记系列推荐 周志华<机器学习> ...
- StyleGAN v1 :用于生成高质量图像数据的生成对抗方法
StyleGAN是2018年的一篇文章,目前已经被TPAMI收录,该方法能够生成高质量的图像数据并且做到了高层特征可控,v1的主要工作在于设计了一个style-based生成器,其中包括了styles ...
- 苏黎世大学 AI 新研究:仅用少量样本生成高质量光声图像
近日,苏黎世联邦理工学院和苏黎世大学的科学家宣布,可以利用机器学习方法来改善光声成像,成果发表在Nature Machine Intelligence上(点击查看论文链接) "光声成像&qu ...
- EMNLP 2021 | 大道至简:微软提出可生成高质量文本表示的预训练语言模型
©作者 | 常馨 学校 | 北京邮电大学硕士生 研究方向 | NLP.信息检索 Abstract 基于自动编码器的语言模型在 Dense Retrieval(DR)中受到越来越多的关注,因为其训练编码 ...
- matlab输出高分辨率图片有白色毛刺,科学网—图片空白边缘处理/统计直方图---matlab/保存生成高质量的清晰图 - 杨小林的博文...
这里介绍hist函数结合bar函数绘制统计直方图 一组原始采集数据,如:data=[2 3 -4 -1 4 -5 1 5 -2 -3]; 数据范围为range=-5:5; 首先可以采用hist函数进行 ...
- 图像生成 - 使用BigGAN在Imagenet数据集上生成高质量图像。
图像生成是计算机视觉领域中的重要问题,其目的是生成具有高质量和真实感的图像.最近,Google提出的BigGAN方法在图像生成任务上取得了巨大的成功,可以生成高分辨率和高质量的图像.在本文中,我们将介 ...
最新文章
- php校园开源,基于 Laravel 5.5 开发的开源校园管理系统 —— Unifiedtransform
- (四)系统虚拟化关键技术
- Redis分布式锁实现方式
- 前端学习(1537):为什么使用ng
- GL-关于intercopany 和intracompany 的个人理解
- pandas数据切片
- Windows10配置maven环境变量(图文教程)
- linux一步一脚印--- ls -l 命令执行显示结果的每一列含义
- android自定义滤镜,让IjkPlayer支持插入自定义的GPU滤镜方法
- UE虚幻引擎云渲染支持8K方案
- 算法解析——矩阵快速幂
- 彻底卸载Cfree5.0
- 第46届EC-Final总结
- [Office] Excel 每行插入空白行 / 隔行插入一行/ 每列插入空白列 / 每隔两行插入一行 / 批量插入空白行
- 中国乳制品行业消费品牌形势与竞争格局展望报告2022版
- Java——io项目(快递分拣系统)
- Windows下及linux下PVM并行计算平台的搭建
- 《A Graduate Course in Applied Cryptography》Chapter 13 Digital Signatures(2)
- 肖特基二极管与整流二极管谁能更胜一筹?
- python基础之字典的嵌套
热门文章
- vs2005常用调试快捷键 (转载)
- 2月28日云栖精选夜读 | 阿里云率先达成国家绿色数据中心标准,平均PUE低于1.3...
- NetworkX系列教程(1)-创建graph
- 36、重分布配置实验之route-map
- 字符串中最长无重复子串(O(n))
- 使用Tornado实现Ajax请求
- CentOS 5.X用第三方源安装PHP MySQL Apache等
- 9.Tornado下的一个简易Blog--2013-05-21
- 踏平RecyclerView使用的各种坑,跟ListView和GridView说拜拜
- IBM Java垃圾回收