Python利用bottle来动态生成本地html页面

2018-10-11  本文已影响0人  WangNing_寧

有时候我们会遇到一些需求,需要一些类似的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()

根据需求来自行传递需要的数据。

上一篇下一篇

猜你喜欢

热点阅读