Flask 与 Django 对比
Flask 的 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。这两个也是 Flask 框架的核心。
1. 框架对比
1)框架轻重
- 重量级的框架:为方便业务程序的开发,提供了丰富的工具、组件,如Django。
- 轻量级的框架:只提供Web框架的核心功能,自由、灵活、高度定制,如Flask、Tornado。
2)与 Django 对比
django提供了:
- django-admin快速创建项目工程目录
- manage.py 管理项目工程
- orm模型(数据库抽象层)
- admin后台管理站点
- 缓存机制
- 文件存储系统
- 用户认证系统
而这些,flask都没有,都需要扩展包来提供。
2. 常用扩展包
扩展列表:http://flask.pocoo.org/extensions/
- Flask-SQLalchemy:操作数据库;
- Flask-script:插入脚本;
- Flask-migrate:管理迁移数据库;
- Flask-Session:Session存储方式指定;
- Flask-WTF:表单;
- Flask-Mail:邮件;
- Flask-Bable:提供国际化和本地化支持,翻译;
- Flask-Login:认证用户状态;
- Flask-OpenID:认证;
- Flask-RESTful:开发REST API的工具;
- Flask-Bootstrap:集成前端Twitter Bootstrap框架;
- Flask-Moment:本地化日期和时间;
- Flask-Admin:简单而可扩展的管理接口的框架
3. Flask文档
HTTP 协议是万维网中数据通信的基础,在该协议中定义了从指定 URL 检索数据的不同方法。Flask 支持 HTTP 协议中的 GET、POST、HEAD、PUT、DELETE等方法。下表总结了不同的 HTTP方法:GET 以未加密的形式将数据发送到服务器。HEAD 和GET方法相同,但没有响应体。 POST 用于将HTML表单数据发送到服务器。