IT常识

flask和django的对比

2023-01-23 7581人阅读
威客牛网
科技信息综合服务平台

flask和django的对比如下:
  
  Flask是一个由Python语言写成的轻量级Web框架,最早由奥地利人Armin Ronacher于2010年发布。Flask最显著的特点是它是一个“微”框架,轻便灵活,但同时又易于扩展。默认情况下,Flask 只相当于一个内核,不包含数据库抽象层ORM、用户认证、表单验证、发送邮件等其它Web框架经常包含的功能。Flask依赖用各种灵活的扩展(比如邮件Flask Mail,用户认证Flask Login,数据库Flask SQLAlchemy)来给Web应用添加额外功能。Flask的这种按需扩展的灵活性是很多程序员喜欢它的地方。Flask没有指定的数据库,可以用MySQL,也可以用 NoSQL。
  
  Django是一个开源的Python Web应用框架,采用了MVT的框架模式,即模型M,视图V和模版T,最早于2005年发布。Django被认为是“大而全”的重量级Web框架,其自带大量的常用工具和组件(比如数据库ORM组件、用户认证、权限管理、分页、缓存), 甚至还自带了管理后台Admin,适合快速开发功能完善的企业级网站。Django自带免费的数据SQLite,同时支持MySQL与PostgreSQL等多种数据库。
  
  流行度,Flask和Django均是当今最流行的Python Web框架。截至2019年9月2日,Flask在Github上的星数是46179颗,Django的Github星数是43806颗,两者几乎难分伯仲,其它Python Web框架与Flask和Django星数相差甚远。考虑到Django早发布5年,而Flask在星数上还领先2000多颗,由此可以得知Flask当前略微占优。
  
  从应用上来说,Flask与Django均广泛用于Web应用开发。利用Django开发的著名网站包括Pinterest, Disqus, Eventbrite, Instagram and Bitbucket。不过最近Pinterest改用Flask开发它的API了。其它利用Flask开发的项目包括 Twilio, Netflix, Uber和LinkedIn。Django似乎更多用来开发常规网站,而Flask经常用来开发API(比如Pinterest和Twilio)。(注:这点可以理解。如果只需要开发Web API,Django自带的大而全的网站功能很多用不上,比如缓存和管理后台。)
  
  性能上两者差不多。有些人会说Django会因“大而全”更慢些,其实这是Python的锅。网上有人测试对比过Flask和Django的性能,两者速度差不多,并无本质差异。

  

热门推荐
发布项目联系我们
分享至 取消