# 开发人员: hanhan丶
# 开发时间: 2020/11/12 14:36
import flask, json #Flask 一个轻量级的web框架
from flask_corsimport *
server = flask.Flask(__name__) # __name__代表当前的python文件。把当前的python文件当做一个服务启动
CORS(server, supports_credentials=True) # 解决跨域
@server.route('/login', methods=['post'])
# 第一个参数就是路径,第二个参数支持的请求方式,不写的话默认是get,
# 加了@server.route才是一个接口,不然就是一个普通函数
def login():
user = flask.request.values.to_dict()
for itemin user:
items = json.loads(item)
loginName = items.get("loginName")
password = items.get("password")
if loginNameand password:
res = {"code":0, "msg":"请求成功", "data": {"loginName": loginName, "password": password}}
else:
res = {'msg':'调用失败'}
# json.dumps 序列化时对中文默认使用的ascii编码,输出中文需要设置ensure_ascii=False
return json.dumps(res, ensure_ascii=False)
if __name__ =='__main__':
# port可以指定端口,默认端口是5000
# host默认是服务器,默认是127.0.0.1
# debug=True 修改时不关闭服务
server.run(debug=True)
前端:
<template>
<div>
账号:<input type="text" v-model="loginName">
<br>
密码:<input type="text" v-model="password">
<br>
<br>
<br>
<button @click="btn">点击</button>
</div>
</template>
<script>
import axios from "axios"
export default {
data() {
return {
loginName: "",
password: ""
}
},
methods: {
getDate() {
axios({
headers: {
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/x-www-form-urlencodedcharset=UTF-8"
},
url: "http://127.0.0.1:5000/login",
method: "post",
data: {
loginName: this.loginName,
password: this.password
}
}).then(res =>{
console.log(res)
})
},
btn() {
this.getDate()
}
}
}
</script>
<style>
</style>
日常数据管理工作中,需要处理存储在不同类型数据库系统的数据。对这些数据的管理,常见的是使用Navicat,DBeaver等管理工具。在对大量数据分析时,需要提取到Python/R中进行处理。下面 探索 Python调用MySQL,MongoDB,InfluxDB等多种类型数据库通用连接方法。实现方式是在Python中封装各类数据库接口包。
实现后的效果:1.安全。接口信息封装便于保密管理;2.复用。一次封装,永久复用;3.上手快。方便不熟悉python和数据调用的同学,只会简单的sql即可使用,省时省力。
下面以MySQL,MongoDB,InfluxDB为例定义接口方法,然后把它们封装成1个通用方法。
mysql_get(sql,db):
mongo_get(sql,db):
influx_get(sql,db):
可以看到,以上函数共同调用的参数为sql和db。我们再增加一个参数db_type,将构造一个通用的方法对以上数据库调用。
同理,其他类型的数据库也可以加入到这个通用框架中,包括但不限于各类关系型,键值型,时序型数据库。