您的位置:首页 > 编程语言 > Python开发

Python + 高德JS——房源可视化(三):用flask搭后端传递数据

2018-07-02 14:39 441 查看
from flask import Flask, render_template, jsonify, request, json
import pymysql

app = Flask(__name__)

初始化flask,没用flask操作数据库,所以没什么配置文件

@app.route("/")
def index():
return render_template("index.html")

根路由返回模板页面

@app.route("/install",methods=["POST"])
def install_locations():
# 下载房源坐标
data = request.json
data = json.dumps(data)
with open("location.json", "w") as f:
f.write(data)
return "done"

下载房源坐标的路由

@app.route("/location_all")
def location_all():
# 返回所有房源坐标
con = pymysql.connect(host="localhost", port=3306, database="ziru", user="root", password="mysql", charset="utf8")
cur = con.cursor()

sql = "select * from locationtable;"
cur.execute(sql)
location_data = cur.fetchall()
cur.close()
con.close()

data = []
for (code, location) in location_data:
location = json.loads(location)
info = {
"code":code,
"address": location
}
data.append(info)
final_data={"result":data}
return jsonify(final_data)

地图加载完毕后,自动向后台请求所有房源的坐标点
这个函数,通过pymsql查出所有数据返还给前端

@app.route("/infor/<code>")
def sendinfor(code):
print(code)
con = pymysql.connect(host="localhost", port=3306, database="ziru", user="root", password="mysql", charset="utf8")
cur = con.cursor()

sql_p = "select price from pricetable where id = %s;"%code
cur.execute(sql_p)
price = cur.fetchone()

sql_img = "select imgsrc from imgsrctable where id = %s"%code
cur.execute(sql_img)
img_src = cur.fetchone()

sql_more = "select more from moretable where id = %s"%code
cur.execute(sql_more)
more = cur.fetchone()

cur.close()
con.close()
data = {"price": price[0], "img_src": img_src[0], "more_href": more[0]}
return jsonify(data)

当前端点击房源时,查询数据库返回基本信息

if __name__ == '__main__':
app.run(host="0.0.0.0", port=5000,debug=True)

开启服务
这个例子里,服务端的例子还是非常非常简单的
主要内容在前端JS里

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: