>> 模型类封装 __init__.py
from datetime import datetime
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
# 封装一个模型类的基类
class BaseModel(db.Model):
""" 基础模型 """
__abstract__ = True # 这个声明为抽象表, 不让sqlalchemy 在数据这种创建此表
# 如下三个字段将会在每一个表中都添加上
created_time = db.Column(db.DateTime, default=datetime.now, comment="添加时间")
updated_time = db.Column(db.DateTime, default=datetime.now, comment="修改时间")
deleted_time = db.Column(db.DateTime, default=None, comment='删除时间')
def create(self):
db.session.add(self)
db.session.commit()
def update(self):
"""
更新数据
:return:
"""
db.session.commit()
def delete(self):
"""
删除单条数据
:return:
"""
self.deleted_time = datetime.now()
db.session.commit()
# 在基类后面导入user模型类
from models.user import *
from models.book import *
>> 视图封装 __init__.py
from flask import Blueprint, jsonify
from flask_restful import Resource, Api
admin_dp = Blueprint('admin_bp', __name__, url_prefix='/admin')
class BaseView(Resource):
def success(self, data=None, msg='ok'):
if data is None:
data = {}
return jsonify({
'code': 20000, 'msg': msg, 'data': data
})
def error(self, msg='ok', data=None):
if data is None:
data = {}
return jsonify({
'code': 400, 'message': msg, 'data': data
})
from views.admin.user import *
api = Api(admin_dp)
api.add_resource(UserView, '/user')
api.add_resource(LoginView, '/login')
api.add_resource(LogoutView, '/logout')
api.add_resource(USerListView, '/user/list')