小猿圈python之Django和Flask比较?

Django和Flask是python web框架的其中两种,也是当今web比较流行的框架,那这两种框架到底有什么区别呢?下面小猿圈加加就说一下它们的区别。

Django 是一个重量级的框架,Flask是一个轻量型的框架;

Django框架:
Django是基于中间件的一个大型框架。框架本身的内容相当丰富,基础部分:模版引擎、ORM、表单、路由分发这些标配,还有不少的中间件:登陆、后台管理,这些还是官方中间件。

另外还有不少的第三方中间件。关于第三方的没怎么专门研究,不能评论质量的好坏。

还有由ROR带起的基于命令的Web开发方式和扩展、还有内建的数据库迁移,基本上Django都有。可以说Django和Python相当匹配,前者是Web开发的重中之重,后者是开发领域的重中之重。

另外Django这个框架本身还有一个专门的基金会,这个基金会是由Django的母公司成立的,估计有不少用这个框架的公司也对期捐助过。框架本身相当活跃,每隔大概8个月就有一个大版本。

Django是用python语言写的开源web开发框架,并遵循MVC设计。

Flask框架:

Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。

其 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。这两个也是 Flask 框架的核心。

Flask,如果您专注于体验和学习机会,或者您想对选用哪个组件有更大的控制权(例如您想使用哪个数据库和如何与它们交互)。

换句话说,如果您是位初学者,Flask可能是个更好的选择,因为用到的组件比较少。

如果您想要更多的定制,那么Flask也是个更好的选择。

综上所述,鉴于Django和Flask的特点,如果你是开发一个REST API的系统,没有复杂分层和逻辑的话,Flask是一个不错的选择;如果需要装很多Flask组件才能实现功能的话,建议使用Django,开发会更简便快速;现在对这两种框架不迷茫了吧,小猿圈加加正在学习这两种框架,可以一起学习,一起交流。

猜你喜欢

转载自www.cnblogs.com/xiaoyuanquan/p/10917720.html