def center_data()
import time
import pymysql
import json
route_list = []
def route(path):
def decorator(func):
route_list.append((path, func))
def inner():
result = func()
return result
return inner
return decorator
@route("/center_data.html")
def center_data():
status = "200 OK"
response_headers = [("Server", "PWS/1.1"),
("Content-Type", "text/html;charset=utf-8")]
conn = pymysql.connect(host="localhost",
port=3306,
user="root",
password="mysql",
database="stock_db",
charset="utf8")
cursor = conn.cursor()
sql = "select i.code,i.short,i.chg,i.turnover,i.price,i.height,f.note_info " \
"from info i INNER join focus f " \
"on i.id = f.info_id; "
cursor.execute(sql)
result = cursor.fetchall()
print(result)
# 把元祖转成列表字典
center_data_list = [{
"code": row[0],
"short": row[1],
"chg": row[2],
"turnover": row[3],
"price": str(row[4]),
"height": str(row[5]),
"note_info": row[6]
} for row in result]
print(center_data_list)
json_str = json.dumps(center_data_list, ensure_ascii=False)
print(json_str)
cursor.close()
conn.close()
return status, response_headers, json_str
@route("/index.html")
def index():
status = "200 OK"
response_headers = [("Server", "PWS/1.1")]
with open("website/index.html", "r") as file:
file_data = file.read()
conn = pymysql.connect(host="localhost",
port=3306,
user="root",
password="mysql",
database="stock_db",
charset="utf8")
cursor = conn.cursor()
sql = "select * from info;"
cursor.execute(sql)
result = cursor.fetchall()
print(result)
cursor.close()
conn.close()
data = ""
for row in result:
data += """<tr>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td><input type="button" value="添加"></td>
</tr>""" % row
response_body = file_data.replace("{%content%}", data)
return status, response_headers, response_body
def not_found():
status = "404 Not Found"
response_headers = [("Server", "PWS/1.1")]
data = "not found"
return status, response_headers, data
def handler_request(env):
request_path = env["request_path"]
print(request_path)
for path, func in route_list:
if path == request_path:
result = func()
return result
else:
result = not_found()
return result
if __name__ == '__main__':
center_data()