创新实训6月12号 后台1.0
2020-07-14 06:31
84 查看
后台1.0
实现了基本的添加查询的接口,尚未部署到云端
代码如下:
import time import pymysql import csv def get_time(): time_str = time.strftime("%Y{}%m{}%d{} %X") return time_str.format("年","月","日") def get_conn(): """ :return: 连接,游标 """ # 创建连接 conn = pymysql.connect(host="*******", # port=3306, user="test", password="123456", db="innotrain", charset="utf8mb4") # 创建游标 cursor = conn.cursor()# 执行完毕返回的结果集默认以元组显示 return conn, cursor def close_conn(conn, cursor): cursor.close() conn.close() def query(sql,*args): """ 封装通用查询 :param sql: :param args: :return: 返回查询到的结果,((),(),)的形式 """ conn, cursor = get_conn() cursor.execute(sql) # cursor.execute(sql,args) res = cursor.fetchall() close_conn(conn, cursor) return res def get_predict(): sql = "select ds,emotion_val,topic from emotion_val where predict=1 order by ds" res = query(sql) return res def get_emotion_val(): sql = "select ds,emotion_val,topic,predict from emotion_val order by predict" res = query(sql) return res def get_rawdata(): sql = "select context,ds,topic from raw_data " res = query(sql) return res def get_midrawdata(): sql = "select ds,emotion_val,topic from emotion_val where predict=0 order by ds" res = query(sql) return res if __name__ == "__main__": print()
from flask import request from flask import Flask, jsonify, render_template import utils import json from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://test:123456@******:3306/innotrain?charset=utf8mb4' app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False db = SQLAlchemy(app) class rawdata(db.Model): __tablename__ = 'raw_data' id = db.Column(db.Integer,primary_key=True) context = db.Column(db.String()) ds = db.Column(db.String()) # ds = db.Column(db.Date()) topic = db.Column(db.String()) def __init__(self, context, ds,topic): self.ds = ds self.topic = topic self.context = context # self.id = id def __repr__(self): return '<rawdata:%s %s %s %s>' % (self.id,self.context,self.ds,self.topic) class emotion_val(db.Model): __tablename__ = 'emotion_val' id = db.Column(db.Integer,primary_key=True) predict= db.Column(db.Integer()) emotion_val = db.Column(db.String()) ds = db.Column(db.String()) # ds = db.Column(db.Date()) topic = db.Column(db.String()) def __init__(self, emotion_val, ds,topic,predict): self.emotion_val = emotion_val self.predict = predict self.ds = ds self.topic = topic def __repr__(self): return '<rawdata:%s %s %s %s>' % (self.emotion_val,self.ds,self.topic,self.predict) @app.route('/') def hello_world(): return render_template("pyecharts-line.html") #获取预测数据的接口 @app.route('/get_predict') def get_predict(): data = utils.get_predict() ds=[] emotion_val=[] topic = [] for each in data: ds.append(each[0]) emotion_val.append(each[1]) topic.append(each[2]) return jsonify({"ds":ds,"emotion_val":emotion_val,"topic":topic}) #获取预测数据和二次处理后真实数据两者的接口 @app.route('/get_emotionval') def get_emotionval(): data = utils.get_emotion_val() ds=[] emotion_val=[] topic = [] predict = [] for each in data: ds.append(each[0]) emotion_val.append(each[1]) topic.append(each[2]) predict.append(each[3]) return jsonify({"ds":ds,"emotion_val":emotion_val,"topic":topic,"predict":predict}) #获取爬虫爬取数据数据的接口,杨涛用 @app.route('/get_rawdata') def get_rawdata(): data = utils.get_rawdata() ds = [] id = [] context=[] topic=[] for each in data: print(each) ds.append(each[1]) context.append(each[0]) topic.append(each[2]) return jsonify({"ds":ds,"context":context,"topic":topic}) #获取二次处理后真实数据的接口,杨秀辉用 @app.route('/get_midrawdata') def get_midrawdata(): data = utils.get_midrawdata() ds = [] emotion_val=[] topic=[] for each in data: ds.append(each[0]) emotion_val.append(each[1]) topic.append(each[2]) return jsonify({"ds":ds,"emotion_val":emotion_val,"topic":topic}) #上传爬虫爬取数据的接口,李哲荀用 @app.route('/insert_rawdata',methods = ['GET','POST']) def insert_rawdata(): if not request.data: return ('no data!') print("This is a "+request.method+" method!") #先将收到json数据的编码格式从bytes改成utf-8 rawdata_json = request.data.decode('utf-8') print(rawdata_json) #json.loads()将json格式的数据解码为python的dict格式数据 #json.dumps()将python的dict格式的数据编码为json格式数据 rawdata_dict = json.loads(rawdata_json) print(type(rawdata_dict)) for raw in rawdata_dict['data']: # print(raw) db.session.add(rawdata( context=raw['context'], ds=raw['ds'], topic=raw['topic'])) db.session.commit() return "ok" #上传二次处理数据和预测得到数据的接口,杨涛,杨秀辉用 @app.route('/insert_emotionval',methods = ['GET','POST']) def insert_emotionval(): if not request.data: return ('no data!') print("This is a "+request.method+" method!") #先将收到json数据的编码格式从bytes改成utf-8 emoval_json = request.data.decode('utf-8') print(emoval_json) #json.loads()将json格式的数据解码为python的dict格式数据 #json.dumps()将python的dict格式的数据编码为json格式数据 emoval_dict = json.loads(emoval_json) print(type(emoval_dict)) # print ((rawdata_dict['ds'])) # print(ds) # rawdata=request.data for raw in emoval_dict['data']: # print(raw) db.session.add(emotion_val( emotion_val=raw['emotion_val'], ds=raw['ds'], topic=raw['topic'], predict=raw['predict'])) db.session.commit() return "ok" @app.route("/time") def get_time(): return utils.get_time() if __name__ == '__main__': app.run()
相关文章推荐
- 创新实训博客(26)——接口调用请求汇总(后台管理部分)
- 创新实训博客(10)——前端界面设计(后台管理部分)
- 创新实训——后台服务器环境的搭建
- Ajax 1.0 中使用web控件调用后台方法的用法.
- 创新实训博客(32)——用户画像部分基本统计数据的设计构想
- 创新实训博客(16)——Android开发中View的下拉刷新与上拉加载探索与实现
- 创新实训第十章
- 齐博1.0全版本后台getshell漏洞复现
- (项目)实时交互太极拳学习系统创新实训第一周
- (个人)太极拳学习系统创新实训第二周(一)
- 自然语言交流系统 phxnet团队 创新实训 个人博客 (一)
- (个人)AR电子书系统创新实训第一周(2)
- (项目)AR电子书系统创新实训第一周(2)
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (六)
- (项目)AR电子书系统创新实训第二周(2)
- 自然语言交流系统 phxnet团队 创新实训 项目博客 (十)
- YII 1.0模型标签与验证规则,前后台验证
- (个人)AR电子书系统创新实训第四周(1)
- yii 1.0 后台CGridView中分页时,过滤器filtering只在第一页起作用的解决方法
- (个人)AR电子书系统创新实训期中汇报