一、课设的后台搭建
from flask import Flask
from flask import render_template
from flask import jsonify
import utils
app = Flask(__name__)
@app.route('/')
def main():
return render_template("/web/main.html")
@app.route("/c1")
def get_c1_data():
data = utils.get_c1_data()
return jsonify({
"movienum": data[0],
"countrynum": data[1],
"categraynum": data[2]
})
@app.route("/c2", methods=["GET"])
def get_c2_data():
data = utils.get_c2_data()
d=[]
for k,v in data:
d.append({"name":k,"value":v});
return jsonify({"kws":d})
@app.route("/r2", methods=['GET'])
def get_r2_data():
data = utils.get_r2_data()
showc = []
for b in data:
showc.append(int(b))
return jsonify({"showc": showc})
@app.route("/l3", methods=["GET"])
def get_l3_data():
data = utils.get_l3_data()
d=[];c=0
for k,v in data:
d.append({"name":k,"value":v})
return jsonify({"kws":d})
@app.route("/r1", methods=["GET"])
def get_r1_data():
data = utils.get_r1_data()
director = []
dirc = []
exc = ['未录入', '未知'];c=0
for k, v in data:
if(k not in exc and c<10):
c+=1
director.append(k)
dirc.append(int(v))
return jsonify({"director": director, "dirc": dirc})
@app.route("/l1", methods=["GET"])
def get_l1_data():
data = utils.get_l1_data()
dataj=data[0]
datax=data[1]
dataa=data[2]
d_2019 = [];d_2020=[];d_2021=[];d_type=[]
for item in data:
d_type.append(item[0])
d_2019.append(item[1])
d_2020.append(item[2])
d_2021.append(item[3])
return jsonify({
"jcountry": d_type,
"jrate": d_2019,
"xrate": d_2020,
"arate": d_2021
})
@app.route("/l2", methods=["GET"])
def get_l2_data():
data = utils.get_l2_data()
lan = []
lanc = []
for k, v in data:
if(k!='未录入'and k!="其它" and k!="其他"):
lan.append(k)
lanc.append(int(v))
return jsonify({"lan":lan,"lanc":lanc})
@app.route("/r4", methods=["GET"])
def get_r4_data():
data = utils.get_l3_data()
datac=list(data)
ss=0
for i in range(len(data)):
if(ss<10):
datac[i]=list(data[i])
ss+=1
k="d"
m=["b"]
m[0]=datac
w = dict(zip(k, m))
return w
if __name__ == '__main__':
app.run()
二、前端地图js文件
function get_c1_data() {
$.ajax({
// type:"post",//请求类型
url: "/c1", //请求地址
// data: { //发送到/读取后台(服务器)的数据
success: function(data) { //成功时执行
$(".mainbox .column .no .no-hd li").eq(0).text(data.movienum);
$(".mainbox .column .no .no-hd li").eq(1).text(data.countrynum);
$(".mainbox .column .no .no-hd li").eq(2).text(data.categraynum);
},
error: function(xhr, type, errorThrown) {
print("c1出错了!")
}
})
}
get_c1_data()