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区别总结

  1. Django有自己的模板和路由和orm,没有服务,使用的是wsgiref。
  2. flask 只有自己的路由,模板使用jinja2。Orm使用的是flask-sqlalchemy 模块。
  3. flask是轻量级框架,只封装了核心功能(路由),使用比较灵活

你可能感兴趣的:(Flask框架)