分享

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

 看见就非常 2020-04-29

Django和Flask的区别

1.形象类比

如果Django类似于精装修的房子,自带豪华家具、非常齐全功能强大的家电,什么都有了,拎包入住即可,十分方便。


而Flask类似于毛坯房,自己想把房子装修成什么样自己找材料,买家具自己装。材料和家具种类非常丰富,并且都是现成免费的,直接拿过去用即可。


2.在体量上的区别

Flask:

  • 小巧、灵活,让程序员自己决定定制哪些功能,非常适用于小型网站。
  • 对于普通的工人来说将毛坯房装修为城市综合体还是很麻烦的,使用Flask来开发大型网站也一样,开发的难度较大,代码架构需要自己设计,开发成本取决于开发者的能力和经验。

Django:

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

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


3.通过大数据统计分析

全球著名的stackshare网站对Django和Flask这两个框架的调查分析。

  • 从全球开发者关注程度上:Django为5.8K,Flask为3.31K

  • 从国外招聘网站岗位需求上:提到Django的有1.77K,Flask为942

  • 从著名的问答网站stack overflow提问数量上:Django 196K,Flask为27.6K

  • 从全球著名的代码托管平台上的star和fork数量上:Django分别为41.3K17.8K,Flask分别为43.8K12.3K


4.完成同样一个Hello World功能


使用Flask来完成:

  • 第一步,安装Flask,pip install flask

  • 第二步,创建my_first_app.py文件,添加如下代码

完成最简单的Hello World功能,Flask只需要7行代码,非常简单、方便。


使用Django来完成:

  • 第一步,安装Django,pip install django

  • 第二步,创建工程项目目录,django-admin startproject myproject

  • 第三步,创建子应用,python manage.py startapp myapp

  • 第四步,在myapp应用所在目录中的views.py文件中,添加如下代码

  • 第五步,在myapp应用所在目录中创建urls.py路由文件,并添加如下代码

  • 第六步,在主路由文件中添加路由。

从上面的操作步骤可知,实现同样的一个功能,往往Flask较为简单,代码较少,而Django所涉及到的流程较多,工程项目结构清晰,在大型项目中具有优势。


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


  • 如果你想搞懂Python web开发WSGI协议原理以及实现过程、或者你想灵活定制组件,完全DIY你的应用、想实现微服务,那么建议你选择Flask。

  • 如果你关注产品的最终交付、想快速开发一个大的应用系统(比如新闻类网站、商城、ERP等),那么建议你选择Django,你想得到的功能它都有,想不到的功能它也有。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多