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

11 篇文章 0 订阅
11 篇文章 0 订阅
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里

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值