一,在此之前先安装flask框架,以及pymysql插件
安装flask框架: pip install Flask
安装pymysql插件: pip install pymysql
创建虚拟环境: python -m venv venv
激活虚拟环境: venv\Scripts\activate
启动程序之前先暴露文件(window系统):$env:FLASK_APP = "hello(文件名)"
启动程序命令: flask run
关闭虚拟环境: deactivate
详细代码
#在此之前先安装flask框架,以及pymysql插件
from pymysql import Connection # Connection连接的对象
from flask import Flask
#1.建立连接
conn = Connection(
host="localhost", #主机名(或IP地址)
port=3306, #端口号,默认3306
user="root", #数据账号名
passwd="", #数据库密码 (有则写入)
charset="utf8" #字符转换
)
# 打印MySql数据库软件信息 打印成功则数据库连接成功
#print(conn.get_server_info()) # 5.5.8-log
#从连接建立游标(有了游标才能操作数据库)
cur = conn.cursor()
#选择数据库
conn.select_db("czp")
#单独查询某一条语句
#cur.execute("select * from book where id=1")
cur.execute("select * from book")
#获取查询结果
result = cur.fetchall()
print("获取数据成功")
#准备存放所有数据的列表
bookslist=[]
for row in result:
#准备存放一个book的字典表
bookinfo ={
"id":row[0],
"author":row[1],
"binding":row[2],
"category":row[3],
"image":row[4],
"isbn":row[5],
"pages":row[6],
"price":row[7],
"pubdate":row[8],
"publisher":row[9],
"subtitle":row[10],
"summary":row[11],
"title":row[12],
"translator":row[13]
}
#将字典表插入到booklist列表中
bookslist.append(bookinfo)
# print(bookinfo)
# 查看列表长度
#print(len(row))
conn.commit() #注意使用的conn 不是cur
# 关闭游标及连接
cur.close()
conn.close()
#给前端提供一个格式友好的字典
dict={
"stattus":200,
"data":bookslist,
"msg":"获取全部的book成功"
}
app = Flask(__name__)
# 解决中文乱码的问题,将json数据内的中文正常显示
app.config['JSON_AS_ASCII'] = False
# 开启debug模式
app.config['DEBUG'] = True
@app.route('/')
def index():
return dict
注意:返回的数据中文乱码问题
# 解决中文乱码的问题,将json数据内的中文正常显示
app.config['JSON_AS_ASCII'] = False
# 开启debug模式
app.config['DEBUG'] = True
加入以上代码,则如下图显示正常
不加代码则显示如下:
二,数据库表的大概结构
详细数据
三,最后写成接口访问的结构是这个样子的
整体结构
展开详细数据结构
以上部分是后端从数据库获取的数据,写成的接口
若想了解前端怎么跨域,axios封装实现调取接口并渲染页面,请点击此链接:juejin.cn/post/718692…