因为近期工作需要,常常要将测试结果/数据统计、汇总和展示,因此会有写静态HTML的需求,本文记录下python写静态HTML的小技巧
灵感时来源于unittest测试框架最常用的报告插件: HTMLTestRunner ,该插件本身基于python2且已经更新了,好在 @虫师 一直在维护和更新这个插件,使得它能继续被大家所使用,了解详情请移步: SeldomQA/HTMLTestRunner
回到HTMLTestRunner报告插件,阅读源码发现,作者只用了一个python文件便巧妙的将写HTML、页面绘制和数据嵌入搞定了。进一步分析可以看到,作者先是在Template基类中定义了测试报告的HTML结构模板和各个模块/表格模板,然后再以格式化输入的形式给每一个模板中填充目标数据,再将填充好的模板以格式化输入的形式填充到HTML结构模板中,最后再将所有内容写成一个HTML文件即可。
可以看到,这样的设计其实优点在于非常小巧和轻量,缺点在于可维护和可移植性差,数据量小还尚可,不太适合大量数据的统计和绘制。
这种设计的关键在于建模板,然后 按需 填充数据,最后再写HTML,通常我的做法是:
如何用写出一个静态的网页<><head><title>标题</title></head><body>网站的内容部分,大概框架就是这样了</body></>
如何搞一个静态的网页设计
会用Dreamweaver这个软体就可以了,百度一下peyoyo你就知道。
用Dreamweaver制作一个静态的网页
个性就自己做.不管好坏.就有个性了
如何用PSD做广告,静态的
用Photoshop软体设计就可以了,不过你本身要会用Photoshop软体才行,或是找个设计师帮你做了
如何用PS做出静态的飘动旗帜
用photoshop制作旗帜飘动效果,可以用变形,新增渐变,和时间轴设定动画帧及显示时间,用档案~储存为web格式~预览~图片另存为gif图片就可以了!详细制作过程建议网上搜有关教程学习!
谁能帮我做一个静态的网页,
网上有免费的留言本,你可以去申请个,静态的留言本不是不可能,可以用xml+做。至于其他页面,也不知道你是什么要求,光是一个连结用 <a href="留言本的地址">留言本</a>就行了。要好看点,可以去下载原始码或者模板,网上很多免费的。
怎么发给你,百度HI你
如何用ruby做一个静态网页页面
重复就行了。滑鼠往下拉或者第二个也重复。 HTML 框架例项 HTML 框架例项 1234
用VB写个网页程式,有静态的
Private Sub Command1_Click()
If Text1.Text <>"" Then
WebBrowser1.Navigate2 Text1.Text
WebBrowser1.Visible = True
Text2.Visible = False
End If
End Sub
JSP如何生成静态的页面?
public class HTMLMaker {
final static Object lock = new Object()
public static void makeHtml(String page, String filePath){
makeHtml(page,filePath,"UTF-8")
}
public static void makeHtml(String page, String filePath,String chartset) {
synchronized (lock) {
HttpURLConnection huc = null
BufferedReader br = null
BufferedWriter bw = null
try {
huc = (HttpURLConnection)new URL(page).openConnection()
System.setProperty("sun..client.defaultConnectTimeout", "30000")
System.setProperty("sun..client.defaultReadTimeout", "30000")
huc.connect()
InputStream stream = huc.getInputStream()
bw = new BufferedWriter(new OutputStreamWriter (new FileOutputStream(filePath),chartset))
br = new BufferedReader(new InputStreamReader(stream, chartset))
String line
while((line = br.readLine())!= null){
if(line.trim().length() >0){
bw.write(line)
bw.newLine()
}
}
}catch (Exception e) {
e.printStackTrace()
}finally {
try {
br.close()
bw.close()
huc.disconnect()
}catch (Exception e) {
e.printStackTrace()
}
}
}
}
}
引数解释:
page:jsp页面的网路地址,比如:localhost:8080/xxx/index.jsp
filePath:生成的档案的储存路径
chartset:编码,不填预设utf-8。
思想:
把jsp档案开流读入,再用输出流写入到目标档案。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)