前面有系列文章。
项目整合模块:代码在后文附上
flask_marshmallow 附上官方文档地址:地址
一.基本使用:
安装:
pip install -U flask-sqlalchemy marshmallow-sqlalchemy
marshmallow是一个用来将复杂的orm对象与python原生数据类型之间相互转换的库,简而言之,就是实现object -> dict,objects -> list, string -> dict 和string -> list。
Flask-Marshmallow包含用于集成的有用附加功能Flask-SQLAlchemy和 marshmallow-sqlalchemy。要启用SQLAlchemy集成,请确保同时安装了Flask-SQLAlchemy和marshmallow-sqlalchemy。
注意 Flask-SQLAlchemy必须实例化 Flask-Marshmallow前面
from flask_marshmallow import Marshmallow
ma = Marshmallow()
定义schema:
进行数据序列化和反序列化
定义自己的自定义字段,继承marshmallow的字段,重写_serialize和_deserialize方法
使用:
userSchema = UserSchema()
单个对象
反序列化 userSchema.load(u)
序列化 userSchema.dump(u)
多个对象列表,设置many=True
反序列化 userSchema.load(u,many=True)
序列化 userSchema.dump(u,many=True)
以上就是基本用法,一般的web的项目就是用这几个模块了。由于接触flask才一个月,又接触的东西有点杂,不知道啥时候是个头,就当作记录学习经历了,持续输出,才能没有忘得太快。
附上代码:https://github.com/JUN-ZZ/flask-app。代码