四 后端:Flask+数据库Sqlite

四 后端:Flask+数据库Sqlite

环境配置

pip install flask-sqlalchemy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install SQLAlchemy-serializer -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install flask_cors  -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install flask-migrate -i https://pypi.tuna.tsinghua.edu.cn/simple

restful.py

from flask import jsonify
# 状态码
class HttpCode(object):
  # 响应正常
  ok = 200
  # 客户端参数错误
  paramserror = 400
  # 服务器错误
  servererror = 500


# 字典转字符串
def _restful_result(code, message, data):
  return jsonify({"message": message or "", "data": data or {}, "code": code})


# 返回ok及结果数据
def ok(message=None, data=None):
  return _restful_result(code=HttpCode.ok, message=message, data=data)


# 客户端错误
def params_error(message="参数错误!"):
  return _restful_result(code=HttpCode.paramserror, message=message, data=None)


# 服务器错误 
def server_error(message="服务器开小差啦!"):
  return _restful_result(code=HttpCode.servererror, message=message or '服务器内部错误', data=None)

flask_app.py

from flask import Flask, request,render_template
from exts import db
from flask_cors import CORS
import config
from flask_migrate import Migrate
# 发生关联
from models import ModelInfo
# flask实例
app = Flask(__name__,static_folder='./dist',  template_folder = "./dist",static_url_path="" )
# 导入配置文件(数据库配置参数)
app.config.from_object(config)
# 数据库绑定app
db.init_app(app)
# 将模型映射到数据库
migrate = Migrate(app,db)
# 跨域访问
CORS(app,resources=r'/*')




@app.route("/ai/api/add",methods=['GET','POST'])
def addModel():
    pass

@app.route("/ai/api/getAiModelList",methods=['GET','POST'])
def getAiModelList():
    pass

@app.route("/ai/api/delete",methods=['GET','POST'])
def deleteModel():
    id = request.form.get("id")
    return "ok"


if __name__ == '__main__':
    app.run()

exts.py

from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()

config.py

# 数据库配置
SQLALCHEMY_DATABASE_URI = "sqlite:///" + r"D:\workplace\PycharmProjects\TestFlaskVue\myDataBase.db" # 数据库存放位置
SQLALCHEMY_TRACK_MODIFICATIONS = False
SECRET_KEY = "jumy"

models.py

from exts import db
from sqlalchemy_serializer import SerializerMixin


class ModelInfo(db.Model, SerializerMixin):
    __tablename__ = "modelInfo"
    id = db.Column(db.Integer, primary_key=True)  # 主键
    algoCategory = db.Column(db.Text)
    task = db.Column(db.Text)
    imgsz = db.Column(db.Text)
    device = db.Column(db.Text)
    modelPath = db.Column(db.Text)
    initModelFlag = db.Column(db.Text)
    def __str__(self):
        return "<ModelInfo(algoCategory:%s)>" %(self.algoCategory)
# 设置环境变量FLASK_APP为当前主函数名称
set FLASK_APP=flask_app.py
# 初始化迁移仓库
flask db init
# 生成迁移脚本
flask db migrate
# 执行脚本中的upgrade操作,真正完成数据的产生
flask db upgrade
flask db init

在这里插入图片描述
在这里插入图片描述

# 生成迁移脚本
flask db migrate

在这里插入图片描述

# 执行脚本中的upgrade操作,真正完成数据的产生
flask db upgrade

在这里插入图片描述

使用Navicat 进行查看

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值