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 = """
Hello,World!
demo
"""
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 = """
Hello,World!
Add webbrowser function
"""
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 = """
Hello,World!
Add webbrowser function
%s
%s
"""%(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="""
demo of bottle
Demo% for title,detail,link in items:
{{title.strip()}}
{{detail}}
%end
"""
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代码
My wonderful PyH pageMy big title
I love PyH!
A smaller title
Followed by a paragraph.
Another paragraph
jinja2
安装
pip install Jinjia2
使用
>>> from jinja2 import Template
>>> template = Template('Hello {{ name }}!')
>>> template.render(name='John Doe')
u'Hello John Doe!'