Django与Flask目前是Python最流行的、热门程度最高的两个框架;不管是初学者学习习也好,面试也好,经常会问两个框架的比较、特点等。而两个框架还是很不一样的。我会以四个方面说一下它们的不同,下面就来看看Django与Flask框架的深度对比吧。
框架模式对比
Django是一个开源的Python Web应用框架,采用的MVT(可以说是基于MVC模式,演变成Django的MVT模式)的框架模式,即模型Models,视图View和模板Template。而Flask则不是。
功能(也就是常说的框架轻重量级)
Flask是一个由Python语言写成的轻量级Web框架,它最显著的特点是它是一个“微”框架,有多“微”呢?它本身相当于一个内核,只保留了两个功能,WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。这两个也是 Flask 框架的核心。其他几乎所有的功能都要用到扩展。
而Django就不一样了。Django被认为是“大而全”的重量级Web框架,Django原生提供了众多的功能组件,例如:数据库ORM支持、Admin管理站点、用户认证、权限管理、缓存、模板等。基本上我们常使用的功能,框架已经帮我们封装好直接调用就行