设计数据库:
利用navicat
数据库时间函数:
CURRENT_TIMESTAMP
<br/>
数据库的增删改查操作:
SELECT id,username FROM login WHERE id=1;
DELETE FROM login WHERE id=1;
INSERT INTO login(username,password,role) VALUES
('admin','password',1);
UPDATE login SET password='newpass',role=0 WHERE username='admin';
后端接口:
对数据库进行增删改查
import pymysql
from flask import Flask, request, jsonify
from flask_cors import CORS
# 数据库链接
db = pymysql.connect(host="127.0.0.1", user="root",
password="123456", database="myfavorite")
cursor = db.cursor()
# 后端服务启动
app = Flask(__name__)
CORS(app, resources=r'/*')
# 解决跨域问题
@app.route('/url', methods=['POST'])
def func():
if request.method == 'POST':
username = request.form.get("username")
print('收到用户名'+str(username))
print('\n执行一些操作\n')
return "返回前端我们的处理结果"
if __name__ == "__main__":
app.run(host='0.0.0.0', port=8899)
db.close()
print("good bye")
已经初步实现了后端接口!
返回所有用户的接口:
@app.route('/login/list', methods=['POST'])
def login_list():
if request.method == 'POST':
# 后端执行mysql语句
cursor.execute("SELECT id,username,role,ctime FROM login")
# 取回执行语句返回的信息
# 注意小括号
data = cursor.fetchall()
temp = {}
result = []
# print(data)
# ((1, 'admin', 0, datetime.datetime(2021, 1, 29, 16, 6, 1)),
# (2, 'user', 0, datetime.datetime(2021, 1, 29, 19, 30, 14)))
if(data != None):
for i in data:
temp['id'] = i[0]
temp['username'] = i[1]
temp['role'] = i[2]
temp['ctime'] = i[3]
# 如果不用copy 则添加的相当于一个指针 加入了两次 ['temp','temp'] 两个数据会是一样的
# 用了copy则是开辟一个新内存 将当前temp的值开辟一个新内存放入数组中
result.append(temp.copy())
# jsonify就是将数组转换成json返回 jsonify只能将数组转换为 json 但是 数据库返回的是一个二维数组
# ((1, 'admin', 0, datetime.datetime(2021, 1, 29, 16, 6, 1)), (2, 'user', 0, datetime.datetime(2021, 1, 29, 19, 30, 14)))
# 所以通过循环 获取每一个一维数组 然后每个一维数组每一项代表一个数据 然后将其赋值给一个对象 然后将对象添加到数组 最后返回这个对象数组
return jsonify(result)
else:
print("result:NULL")
# jsonify就是将数组转换成json返回
return jsonify([])
返回json数据:
最后一次更新于2021-02-01
0 条评论