type
status
date
slug
summary
tags
category
icon
password
😀
要理解Django和Flask的区别,首先要明白为什么要用框架。

📕 一、为什么要使用框架?

类比
  • 为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应用、系统应用)跟建造房子的过程一样,需要先打地基,搭好骨架,然后一块砖一块砖叠上去。
  • 而开发一个应用呢?同样也需要一个好的架构设计,数据库建模,然后一个模块一个模块使用代码实现。
 
在开发应用系统时,使用框架可以带来如下好处
  • 大大提升开发效率
  • 让应用开发更加规范、拓展性更强
  • 让程序员把更多的精力放在业务逻辑的实现上,而不是重复、而复杂的基础环境上(比如web服务器、底层实现等)

📙 二、为什么使用Django和Flask框架?

notion image
在Python编程语言的世界里,功能最强大、最流行的两个框架。它们不仅在web后端开发、微服务开发,同时在ERP系统开发、API接口开发等领域,这两个框架应用非常广泛。

📗 三、Django和Flask的区别

  • Django类似于精装修的房子,内容完善、家具齐全,拎包入住即可,十分方便。它是Python web框架的先驱,用户多,第三方库极其丰富。非常适合企业级网站的开发,但是对于小型的微服务来说,总有“杀鸡焉有宰牛刀”的感觉,体量较大,非常臃肿,定制化程度没有Flask高,也没有Flask那么灵活。
  • Flask类似于毛坯房,自己想把房子装修成什么样自己找材料,买家具自己装。材料和家具种类非常丰富,并且都是现成免费的,直接拿过去用即可。它小巧、灵活,让程序员自己决定定制哪些功能,非常适用于小型网站。对于普通的工人来说将毛坯房装修为城市综合体还是很麻烦的,使用Flask来开发大型网站也一样,开发的难度较大,代码架构需要自己设计,开发成本取决于开发者的能力和经验。

在实际工作中如何选择这两个框架呢?

  • 如果你想搞懂Python web开发WSGI协议原理以及实现过程、或者你想灵活定制组件,完全DIY你的应用、想实现微服务,那么建议你选择Flask。
  • 如果你关注产品的最终交付、想快速开发一个大的应用系统(比如新闻类网站、商城、ERP等),那么建议你选择Django,你想得到的功能它都有,想不到的功能它也有。

📎 参考文章

在Windows 10上安装Hadoop 和HBaseWSGI是什么
  • Twikoo
  • Giscus
  • Cusdis