有时候我们会遇到一些需求,需要一些类似的html页面。他们样式和格式是一样的,只有少些的数据字段是动态的。一个个粘贴辅助来完成这个工作又显的有些繁琐。
所以我们可以利用python来做一个模板,然后来动态填充不同的数据字段来自动批量的生成,以减少工作量。
其中一个方式就是利用bittle来实现。
直接上代码
# coding:utf-8
def generate(i, title, question, imgs, answer):
# 定义想要生成的Html的基本格式
# 使用%来插入python代码
template_demo = """
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<style>
.text{
word-wrap: break-word;
word-break: normal;
padding-top: 15px
}
img{
padding-top: 15px;
}
</style>
</head>
<title>{{title}}</title>
<body>
%
<h1 align="center">{{ question }}</h1>
<div style="width:100%;text-align:center">
% for link in items:
<img style="width: 150px;height: 150px;" src="{{link}}">
%end
<br>
</div>
%
<div class="text" align="center">{{ answer }}</div>
</body
</html>
"""
html = template(template_demo, title=title, question=question, items=imgs, answer=answer)
filename = "./htmls/"+str(i) + ".html"
with open(filename, 'wb') as f:
f.write(html.encode('utf-8'))
def main():
title = "题目"
question = "问题?"
imgs = ["1", "2", "3"]
answer = "鬼知道"
generate(title, question, imgs, answer)
if __name__ == '__main__':
main()
根据需求来自行传递需要的数据。
网友评论