index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div>
<div>
<table>
<tr>
<th>序号</th>
<th>股票代码</th>
<th>股票简称</th>
<th>涨跌幅</th>
<th>换手率</th>
<th>最新价(元)</th>
<th>前期高点</th>
<th>前期高点日期</th>
<th>添加自选</th>
</tr>
{%content%}
</table>
</div>
</div>
</body>
</html>
framework.py
连接数据库查询数据
import time
import pymysql
route_list = []
def route(path):
def decorator(func):
route_list.append((path, func))
def inner():
result = func()
return result
return inner
return decorator
@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