用于公开flask不宁客户机数据模型的服务器端代码
flask-restless-datamodel的Python项目详细描述
目的
这个库是由两部分组成的代码的一部分。它完成服务器部分到烧瓶不宁客户端。它所做的是允许您以方便的json格式呈现数据模型。 这个json格式然后由flask不宁客户端读取,后者反过来使用它来构建自己,从而允许通过http透明地访问数据模型。
快速启动
启用此功能就像在flask untist中注册sqlalchemy模型一样简单。唯一需要做的是从库中导入datamodel类并使用它注册api。
importflaskimportflask_restlessfromflask_sqlalchemyimportSQLAlchemyfromflask_restless_datamodelimportDataModelfrommy_modelsimportPerson,Computer,dbapp=flask.Flask(__name__)db=SQLAlchemy(app)#Create a datamodel instance to register laterdata_model=DataModel(manager)manager=flask_restless.APIManager(app,flask_sqlalchemy_db=db)manager.create_api(Person,methods=['GET'],include_columns=['name'])manager.create_api(Computer,methods=['GET'],collection_name='compjutahs',exclude_columns=['name'])manager.create_api(data_model,methods=['GET'])
它将暴露一个端点http://localhost:5000/flask-restless-datamodel
,而该端点反过来将产生如下结果
{"Computer":{"attributes":{"id":"integer","owner_id":"integer","owner_name":"unicode","purchase_time":"datetime","vendor":"unicode"},"collection_name":"compjutahs","methods":{},"pk_name":"id","relations":{"owner":{"backref":"computers","foreign_model":"Person","local_column":"owner_id","relation_type":"MANYTOONE"},"peers":{"foreign_model":"Computer","is_proxy":true,"relation_type":"MANYTOONE"}}},"Person":{"attributes":{"name":"unicode"},"collection_name":"person","methods":{},"pk_name":"id","relations":{}}}
客户机代码将使用此结果动态构建模型。