0
以下是python服務器頁面(PSP)的代碼;使用mysqldb,我試圖從表中獲取記錄「addr」,然後將其打印到HTML頁面上。打印聲明在PSP(Python服務器頁面)中不起作用
但由於某些原因,for循環(包含錶行)內部和for循環外部(包含「Hello」語句)的print語句不工作,因此在代碼執行後最後只有語句「Rows打印「顯示,沒有別的。
<% import MySQLdb
conn = MySQLdb.Connect(host='localhost',user='user',passwd='password',db='db1')
cur = conn.cursor()
sql= "SELECT * from addr;"
try:
cur.execute(sql)
data = cur.fetchall()
for row in data:
print row[1]
print("Hello")
cur.close()
conn.close()
%>
<br />
<html>
<h1> Rows Printed</h1>
</body>
</html>
<%
except MySQLdb.IntegrityError,message:
errorcode = message[0]
%>
<html>
<body><h1> Technical issue</h1>
</body>
</html>
print語句犯規時運行的Python腳本工作正常,並提供存儲在表中所需的記錄,即使沒有try catch塊顯示結果,但相同的。
感謝輸入丹尼爾;它工作得很好。但從你的文章另一個疑問出現在我心中,即是否建議使用python服務器頁面來構建網站?從我在互聯網上的研究中,我發現它比CGI處理程序更快,但如果我錯過了使用PSP的任何缺點或缺點,請求您指出它。再次感謝!!! –
PSP基於mod_python,它並未處於活動開發之中,因此不推薦使用。而PSP通常不是一個非常好的技術 - 它混合了業務邏輯和顯示,使開發和維護變得困難。在WSGI之上使用像Django或Flask這樣的框架 - 除了正確分離關注點和體面的模板語言之外,像Django一樣還包括一個db層,它避免了編寫SQL語句的需要。 –