从核心数据自动生成烧瓶服务器。
Erlenmeyer的Python项目详细描述
erlenmeyer允许您从核心数据文件创建功能齐全的flask服务器,包括sqlalchemy模型。
这是烧瓶、sqlalchemy和核心数据。了解了?这是一个化学双关语。了解了?
$ erlenmeyer -p MegaBits -c MBModels.xcodedatamodeld
此命令将生成名为megabits的新烧瓶项目,其目录结构如下:
MegaBits.py /handlers __init__.py ... /models __init__.py ... /settings settings.json /documentation MegaBits.html
其中省略号(...)是从核心数据文件构建的模型列表。
烧瓶文件
烧瓶文件(例如MegaBits.py)是主要烧瓶服务。它创建flask应用程序和sqlalchemy实例,并将请求转发到handlers模块中的处理程序对象。
此服务有3个全局可访问的变量:
- settings:从settings.json加载的设置字典。
- flaskApp:烧瓶应用程序。
- database:从flask应用程序加载的sqlalchemy实例。
handlers
handlers模块包含从核心数据文件构建的每个模型对象的单独处理程序对象。每个处理程序都有5种方法,这取决于底层模型的关系复杂性。
每个处理程序方法都检索或将适当的信息应用于其基础模型,并根据成功情况返回一个cooRespondingflask.Response对象。此外,所有处理程序方法都是内联的。
models
models模块包含从核心数据文件创建并从flask.ext.sqlalchemy.Model或其核心数据声明的父类继承的对象。
settings.json
settings.json包含服务运行时的信息。“服务器”字典为flask应用程序提供信息,例如要广播的ip地址和端口。“sql”字典提供sqlalchemy登录和数据库信息,用于存储模型。
文档
rest api文档文件(例如MegaBits.html)是一个基于twitter引导的文档页面。它为flask文件中列出的每个url端点提供api文档。
其他位…
对于功能请求和错误报告,请使用https://github.com/MegaBits/Erlenmeyer/issues。