zoukankan      html  css  js  c++  java
  • python生成html

    python生成html

    参考

    静态HTML

    #coding:utf-8
    _author_ = "LiaoPan"
    _time_  = "2016.6.16"
    _myblog_ = "http://blog.csdn.net/reallocing1?viewmode=contents"
    
    f = open("demo_1.html",'w')
    message = """
    <html>
    <head></head>
    <body>
    <p>Hello,World!</p>
    <p>demo</p>
    </body>
    </html>"""
    
    f.write(message)
    f.close()
    
    • webbrowser

    无变量

    #coding:utf-8
    _author_ = "LiaoPan"
    _time_  = "2016.6.16"
    _myblog_ = "http://blog.csdn.net/reallocing1?viewmode=contents"
    import webbrowser
    
    GEN_HTML = "demo_1.html"  #命名生成的html
    
    f = open(GEN_HTML,'w')
    message = """
    <html>
    <head></head>
    <body>
    <p>Hello,World!</p>
    <p>Add webbrowser function</p>
    </body>
    </html>"""
    
    f.write(message)
    f.close()
    
    webbrowser.open(GEN_HTML,new = 1)
    

    有变量

    #coding:utf-8
    _author_ = "LiaoPan"
    _time_  = "2016.6.16"
    _myblog_ = "http://blog.csdn.net/reallocing1?viewmode=contents"
    import webbrowser
    
    GEN_HTML = "demo_1.html"  #命名生成的html
    
    str_1 = "1: new contents need to be added."
    str_2 = "2: new contents need to be added."
    
    f = open(GEN_HTML,'w')
    message = """
    <html>
    <head></head>
    <body>
    <p>Hello,World!</p>
    <p>Add webbrowser function</p>
    <p>%s</p>
    <p>%s</p>
    </body>
    </html>"""%(str_1,str_2)
    
    f.write(message)
    f.close()
    
    webbrowser.open(GEN_HTML,new = 1)
    

    动态生成

    bottle

    安装

    pip install bottle
    

    示例

    #coding:utf-8
    """
    - 使用bottle来动态生成html
        - http://bottlepy.org/docs/dev/stpl.html
    
    """
    _author_ = "LiaoPan"
    _time_  = "2016.6.17"
    _myblog_ = "http://blog.csdn.net/reallocing1?viewmode=contents"
    
    
    from bottle import SimpleTemplate,template
    
    
    #ex01
    tpl = SimpleTemplate('Hello {{name}}')
    
    print tpl.render(name='World')
    
    #ex02
    print template('Hello {{name}}',name = "World")
    
    #ex03
    my_dict = {'Name':'L','Age':23,'Grade':"A"}
    print template("My name is {{Name}}, my age is {{Age}},and my grade is {{Grade}}",**my_dict)
    

    动态生成

    #coding:utf-8
    """
    - 使用bottle来动态生成html
        - https://www.reddit.com/r/learnpython/comments/2sfeg0/using_template_engine_with_python_for_generating/
    
    """
    _author_ = "LiaoPan"
    _time_  = "2016.6.17"
    
    from bottle import template
    import webbrowser
    
    #一些我们需要展示的文章题目和内容
    articles = [("Title #1","Detials #1","http://blog.csdn.net/reallocing1/article/details/51694967"),("Title #2","Detials #2","http://music.163.com"),("Title #3","Detials #3","http://douban.fm")]
    
    #定义想要生成的Html的基本格式
    #使用%来插入python代码
    template_demo="""
    <html>
    <head><h1>demo of bottle</h1></head>
    <title>Demo</title>
    <body>
    
    
    % for title,detail,link in items:
    <h2>{{title.strip()}}</h2>
    <p>{{detail}}</p>
    <a href={{link}}>Link text</a>
    %end
    
    
    </body
    </html>
    """
    
    html = template(template_demo,items=articles)
    
    with open("test.html",'wb') as f:
        f.write(html.encode('utf-8'))
    
    
    #使用浏览器打开html
    webbrowser.open("test.html")
    
    

    PyH

    示例python代码

    from pyh import *
    page = PyH('My wonderful PyH page')
    page.addCSS('myStylesheet1.css', 'myStylesheet2.css')
    page.addJS('myJavascript1.js', 'myJavascript2.js')
    page << h1('My big title', cl='center')
    page << div(cl='myCSSclass1 myCSSclass2', id='myDiv1') << p('I love PyH!', id='myP1')
    mydiv2 = page << div(id='myDiv2')
    mydiv2 << h2('A smaller title') + p('Followed by a paragraph.')
    page << div(id='myDiv3')
    page.myDiv3.attributes['cl'] = 'myCSSclass3'
    page.myDiv3 << p('Another paragraph')
    page.printOut()
    

    生成Html代码

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>My wonderful PyH page</title>
    <link href="myStylesheet1.css" type="text/css" rel="stylesheet" />
    <link href="myStylesheet2.css" type="text/css" rel="stylesheet" />
    <script src="myJavascript1.js" type="text/javascript"></script>
    <script src="myJavascript2.js" type="text/javascript"></script>
    </head>
    <body>
    <h1 class="center">My big title</h1>
    <div id="myDiv1" class="myCSSclass1 myCSSclass2">
    <p id="myP1">I love PyH!</p>
    </div>
    <div id="myDiv2">
    <h2>A smaller title</h2>
    <p>Followed by a paragraph.</p>
    </div>
    <div id="myDiv3" class="myCSSclass3">
    <p>Another paragraph</p>
    </div>
    </body>
    </html>
    

    jinja2

    安装

    pip install Jinjia2
    

    使用

    >>> from jinja2 import Template
    >>> template = Template('Hello {{ name }}!')
    >>> template.render(name='John Doe')
    u'Hello John Doe!'
    
  • 相关阅读:
    加入创业公司有什么利弊
    Find Minimum in Rotated Sorted Array II
    Search in Rotated Sorted Array II
    Search in Rotated Sorted Array
    Find Minimum in Rotated Sorted Array
    Remove Duplicates from Sorted Array
    Spiral Matrix
    Spiral Matrix II
    Symmetric Tree
    Rotate Image
  • 原文地址:https://www.cnblogs.com/fhkankan/p/12978622.html
Copyright © 2011-2022 走看看