1、创建jinja2模块
<html>
<head>
<style type="text/css">
.a {
float: left;
list-style:none;
margin:0 10px;
}
.b {
float: none;
list-style:none;
margin:0 10px;
}
div {
display: none;
}
.c {
float: left;
list-style:none;
margin:0 10px;
}
</style>
</head>
<body>
<h1>Select In Oracle</h1>
<ul class='c'>
<li class='a'><b>{{titleDesc[0]}}</b></li>
</br>
{% for row in result %}
<li class='b'> {{row[0]}}</li>
{% endfor %}
</ul>
<ul class='c'>
<li class='a'><b>{{titleDesc[1]}}</b></li>
</br>
{% for row in result %}
<li class='b'> {{row[1]}}</li>
{% endfor %}
</ul>
<ul class = 'c'>
<li class='a'><b>{{titleDesc[2]}}</b></li>
</br>
{% for row in result %}
<li class='b'> {{row[2]}}</li>
{% endfor %}
</ul>
</body>
</html>
2、Python中引用jinja2模块
import cx_Oracle
import webbrowser
import os
import jinja2
"""创建一个获取html内容的函数"""
def render(tplPath,**kvargs):
if os.name == 'nt':
currPath = '.\\'
else:
currPath = './'
path,fileName = os.path.split(tplPath)
return jinja2.Environment(
loader=jinja2.FileSystemLoader(path or currPath)
).get_template(fileName).render(**kvargs)
"""创建一个oracle连接"""
conn = cx_Oracle.connect('scott/scott@TNS_LISSEN')
cursor = conn.cursor()
selectSql = 'select * from scott.t1'
titleDesc = []
cursor.execute(selectSql)
descLists = cursor.description
result = cursor.fetchall()
for desc in descLists:
titleDesc.append(desc[0])
"""渲染数据"""
content = render('test.html',titleDesc=titleDesc,result=result)
"""将渲染过的数据写入到testJinja2.html中显示出来"""
html = 'testJinja2.html'
with open(html,'w') as fObj:
fObj.write(content)
fObj.close()
webbrowser.open(html,new=1)
cursor.close()
conn.close()
上述Python代码还可以重构,简单记录下…
3、结果查询
web中显示
oracle中表数据
SCOTT@TNS_LISSEN>select * from t1;
ID NAME LOC
--- --------------- --------------------
1 xiao zhang nanchang
2 xiao wang shanghai
3 xiao long tianjing
HTML、CSS这一块不是很熟悉,以后再进行修改…