依赖项
- flask,微型Web框架
- click,命令行选项简化工具
- colorama,命令行彩色显示工具箱
- flask-sqlalchemy,flask扩展的ORM
- flask-login,flask的登录组件
- flask-openid,flask的openid组件
- flask-wtform,flask的表单组件
- flask-Babel,flask的多语种支持组件
附加依赖项
- Gunicorn,gevent驱动WSGI容器,采用多进程方式
- Supervior,监控Gunicorn进程
Flask/Flask-AppBuilder异同
两者非常类似,用户主要修改的部分在:
- models.py
- views.py
在flask的views中暴露的每个URL路径类下属的get/post/put/delete方法中,用户代码可以使用相对自由的数据库底层SQL语法来实现用户逻辑。
而fab中的views中的URL类方法中,数据库相关的处理函数由ORM完成,并实现到Python对象的映射,同时fab还自动化了许多widget和UI设计。所以fab的开发者必须首先了解flask-sqlachemy的概念与使用,继而查阅fab底层UI代码,才能够设计出高度定制的产品。
当然,开发者对于flask框架本身的了解也是必须的。相对而言,flask的入门相对简单,而fab的学习曲线比较陡峭。