Flask框架简介
简介
Flask诞生于2010年,是Armin ronacher(人名)用Python语言基于Werkzeug工具箱编写的轻量级Web开发框架。它主要面向需求简单的小应用。
Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login),都需要用第三方的扩展来实现。比如可以用Flask-extension加入ORM、窗体验证工具,文件上传、身份验证等。
Flask没有默认使用的数据库,你可以选择MySQL,也可以用NoSQL。其 WSGI 工具箱采用 Werkzeug(路由模块) ,模板引擎则使用 Jinja2 。
可以说Flask框架的核心就是Werkzeug和Jinja2。
Python最出名的框架要数Django,此外还有Flask、Tornado等框架。虽然Flask不是最出名的框架,但是Flask应该算是最灵活的框架之一,这也是Flask受到广大开发者喜爱的原因。
框架的轻重
- 重量级的框架:为方便业务程序的开发,提供了丰富的工具、组件,如Django
- 轻量级的框架:只提供Web框架的核心功能,自由、灵活、高度定制,如Flask、
明确Web开发的任务
- 视图开发:根据客户端请求实现业务逻辑(视图)编写
- 模板、数据库等其他的都是为了帮助视图开发,不是必备的
Flask与Django区别
django提供了:
django-admin
快速创建项目工程目录manage.py
管理项目工程orm
模型(数据库抽象层)admin
后台管理站点
…
而这些,flask只有路由,其他都需要扩展包来提供
Flask扩展包:
Flask-SQLalchemy
:操作数据库;Flask-migrate
:管理迁移数据库;Flask-Mail
:邮件;Flask-WTF
:表单;Flask-script
:插入脚本;Flask-Login
:认证用户状态;Flask-RESTful
:开发REST API的工具;Flask-Bootstrap
:集成前端Twitter Bootstrap框架;Flask-Moment
:本地化日期和时间;
Flask与Django区别总结
- Django有自己的模板和路由和orm,没有服务,使用的是wsgiref。
- flask 只有自己的路由,模板使用jinja2。Orm使用的是flask-sqlalchemy 模块。
- flask是轻量级框架,只封装了核心功能(路由),使用比较灵活
如果想要和我交流,就关注我的微信公众号:梓栋Coder(id:cyttlian)