Y17
1、创建python文件夹,命名为app,创建并返回一个WGSI应用程序对象
from flask import Flask
app = Flask(__name__)
# 定义函数封装路由配置
def path(route, fun, *, methods=['GET','POST'], name=None):
app.add_url_rule(route, view_func=fun, methods=methods, endpoint=name)
2、封装连接数据库操作
from flask_sqlalchemy import SQLAlchemy
from flask4.app import app
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql+pymysql://root:ysh7776@127.0.0.1/stu'
db = SQLAlchemy(app)
class DBO:
# 定义函数完成构造对象数据初始化
def __init__(self, **kwargs):
for key, value in kwargs.items():
setattr(self, key, value)
# 定义一个数据添加操作
@classmethod
def add(self, *args, **kwargs):
if len(args)>0 and isinstance(*args, list):
for dict in args[0]:
obj = self(**dict)
db.session.add(obj)
else:
obj = self(**kwargs)
db.session.add(obj)
db.session.commit()
return obj
# 定义函数完成数据更新
def update(self, **kwargs):
for key, value in kwargs.items():
if hasattr(self,key):
setattr(self, key, value)
db.session.commit()
# 定义函数完成数据删除
def delete(self):
db.session.delete(self)
db.session.commit()
3、Account模型测试,如下
# 例如若Account是一个模型,有a_account,a_password两个属性列,如下操作。
# 条件添加
# if Account.query.filter(Account.a_account == 'xiaocaicai').first():
# print('用户名已存在')
# else:
# obj = Account.add(a_account='xiaocao', a_password='123')
# print(obj.a_account)
# 添加多条
# Account.add([
# {'a_account':'xiao1','a_password':'123'},
# {'a_account':'xiao2','a_password':'123'},
# {'a_account':'xiao3','a_password':'123'},
# ])
# 添加单条
# Account.add(**{'a_account':'xiao4','a_password':'123'}) 或者 Account.add(a_account='xiao4',a_password=123)
# 更新
# Account.query.get(1).update(a_account='eternal')
# 删除
# Account.query.get(1).delete()
具体源代码链接:(flask3~flask5中都有封装文件)
https://pan.baidu.com/s/10_vZeB9cB-ZiftsVhie3NQ 提取码:33nq
个人小结,定有不足,欢迎指点。
谢谢~