欢迎来到Python教程自学网!
当前位置: 首页 > Flask > Flask框架简介,与Django框架的区别

Flask框架简介,与Django框架的区别

   

Flask框架简介,与Django框架的区别

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是轻量级框架,只封装了核心功能(路由),使用比较灵活。