django和flask的区别

Posted 测试开发技术笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django和flask的区别相关的知识,希望对你有一定的参考价值。

为什么要使用框架?

开发一个应用就像盖房子,如果不使用框架,就好比盖房子要用到一砖一瓦和钢筋水泥等都需要自己生产。如果使用了框架,很多基础的功能是不需要重复造轮子的。

使用框架的好处有:

  • 大大提升开发效率

  • 让应用开发更加规范、拓展性更强

  • 程序员把更多的精力放在业务逻辑的实现上,而不是重复、而复杂的基础环境上(比如web服务器、底层实现等)

django和flask是在Python编程语言的世界里,最流行的两个框架。它们的区别是什么呢?


打个比方,django和flask都比作房子的话,django就是精装房,自带豪华家具、非常齐全功能强大的家电,什么都有了,拎包入住即可,十分方便。但是Flask类似于毛坯房,自己想把房子装修成什么样自己找材料,买家具自己装。材料和家具种类非常丰富,并且都是现成免费的,直接拿过去用即可。


二者的区别主要体现在体量上


Flask:

  • 小巧、灵活,让程序员自己决定定制哪些功能,非常适用于小型网站。

  • 对于普通的工人来说将毛坯房装修为城市综合体还是很麻烦的,使用Flask来开发大型网站也一样,开发的难度较大,代码架构需要自己设计,开发成本取决于开发者的能力和经验。


Django:

  • 大而全,功能极其强大,是Python web框架的先驱,用户多,第三方库极其丰富。

  • 非常适合企业级网站的开发,但是对于小型的微服务来说,总有“杀鸡焉有宰牛刀”的感觉,体量较大,非常臃肿,定制化程度没有Flask高,也没有Flask那么灵活。


Django有模板,表单,路由,认证,基本的数据库管理等等内建功能。与之相反,Flask只是一个内核,默认依赖于两个外部库:Jinja2 模板引擎和 Werkzeug WSGI 工具集,其他很多功能都是以扩展的形式进行嵌入使用。

以上是关于django和flask的区别的主要内容,如果未能解决你的问题,请参考以下文章

django和flask的区别

Django框架与Flask框架的区别

Django&Flask区别

真正搞明白Python中Django和Flask框架的区别

flask-sqlalchemy 和sqlalchemy的区别

Django与Flask的对比:路由映射的区别