美文网首页
Python利用bottle来动态生成本地html页面

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

作者: WangNing_寧 | 来源:发表于2018-10-11 23:05 被阅读0次

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

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

    相关文章

      网友评论

          本文标题:Python利用bottle来动态生成本地html页面

          本文链接:https://www.haomeiwen.com/subject/jvgiaftx.html