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/[email protected]_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這一塊不是很熟悉,以後再進行修改…