# 个人中心数据接口开发 @route("/center_data.html") def center_data(): # 响应状态 status = "200 OK"; # 响应头 response_header = [("Server", "PWS2.0"), ("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语句 sql = '''select i.code, i.short, i.chg, i.turnover, i.price, i.highs, f.note_info from info as i inner join focus as f on i.id = f.info_id;''' # 执行sql cursor.execute(sql) # 获取结果集 result = cursor.fetchall() # 关闭游标 cursor.close() # 关闭数据库连接 conn.close() print(result)
# 个人中心数据接口开发 @route("/center_data.html") def center_data(): # 响应状态 status = "200 OK"; # 响应头 response_header = [("Server", "PWS2.0"), ("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语句 sql = '''select i.code, i.short, i.chg, i.turnover, i.price, i.highs, f.note_info from info as i inner join focus as f on i.id = f.info_id;''' # 执行sql cursor.execute(sql) # 获取结果集 result = cursor.fetchall() # 关闭游标 cursor.close() # 关闭数据库连接 conn.close() # 个人中心数据列表 center_data_list = list() # 遍历每一行数据转成字典 for row in result: # 创建空的字典 center_dict = dict() center_dict["code"] = row[0] center_dict["short"] = row[1] center_dict["chg"] = row[2] center_dict["turnover"] = row[3] center_dict["price"] = str(row[4]) center_dict["highs"] = str(row[5]) center_dict["note_info"] = row[6] # 添加每个字典信息 center_data_list.append(center_dict) # 把列表字典转成json字符串, 并在控制台显示 json_str = json.dumps(center_data_list,ensure_ascii=False) print(json_str) return status, response_header, json_str
代码说明:
json.dumps函数把字典转成json字符串
函数的第一个参数表示要把指定对象转成json字符串
参数的第二个参数ensure_ascii=False表示不使用ascii编码,可以在控制台显示中文。
响应头添加Content-Type表示指定数据的编码格式
web框架程序还可以开发数据接口,为客户端程序提供数据服务。
根据sql语句查询数据库
把数据转成json字符串返回
浏览器通过指定接口地址获取web框架提供的数据。