在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
Django和Flask框架的区别是什么?Python中Django框架和Flask框架都是比较常见的,在开发应用系统时,使用框架可以提升开发效率,让应用开发更加规范、拓展性更强,程序员把更多的精力放在业务逻辑的实现上,而不是重复、而复杂的基础环境上。
想要熟练掌握框架需要先学习框架的基础知识、基本实现原理;结合项目实践,提升编码能力和业务逻辑的理解;翻看框架源码深入理解源码精髓。使用Django和Flask框架在Python编程语言里功能强大和流行的两个框架。不仅在web后端开发、微服务开发,同时在ERP系统开发、API接口开发等领域,这两个框架应用非常广泛。那么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.3K、17.8K,Flask分别为43.8K、12.3K。
4、完成同样一个Hello World功能
使用Flask来完成:
(1)安装Flask,pip install flask
(2)创建my_first_app.py文件,添加如下代码
完成最简单的Hello World功能,Flask只需要7行代码,非常简单、方便。使用Django来完成:
(1)安装Django,pip install django
(2)创建工程项目目录,django-admin startprojectmyproject
(3)创建子应用,python manage.py startappmyapp
(4)在myapp应用所在目录中的views.py文件中。
(5)在myapp应用所在目录中创建urls.py路由文件
(6)在主路由文件中添加路由。
实现同样一个功能Flask较为简,代码较少,而Django所涉及到的流程较多,工程项目结构清晰,在大型项目中具有优势。想搞懂Python web开发WSGI协议原理以及实现过程、或者你想灵活定制组件,完全DIY应用、想实现微服务建议选择Flask。如果关注产品的最终交付、想快速开发一个大的应用系统,建议选择Django,想实现的功能都有。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
学Python用什么系统?
对于刚刚初学Python的小伙伴来说,一开始学习就会遇到这样的问题,学Python用什么系统?虽说工欲善其事必先利其器,但对于刚刚入门Python的小伙伴来说真的不用太纠结学Python用什么系统。。我的建议是,最好是能花一段时间熟悉了Linux系统以后,再开始转移平台。
7362
2019-07-16 16:50:07
零基础Python学习路线及阶段学习目标
零基础Python学习路线及阶段学习目标,首先应该夯实Python核心基础、Web前端编程、Django开发框架、Flask开发框架、爬虫与数据分析等知识,理解机器学习相关的基本概念及系统处理流程。
4182
2020-03-06 12:11:29
Python基础学完了再学什么?
基础阶段学完Python 基础语法、python 容器、函数和文件操作、面向对象、 python编程和web基础、Linux 操作系统多任务编程、Python 网络编程、静态 web 服务器、HTML、CSS、JavaScript、数据库 MySQL、正则表达式、Python 进阶、mini-web 框架后,需要在进行实操积累项目实战经验。
3739
2021-04-08 16:18:17
返回指定页面数据静态Web服务器代码怎么写?
返回指定页面数据静态Web服务器代码:获取用户请求资源的路径,根据请求资源的路径,读取指定文件的数据组装指定文件数据的响应报文,发送给浏览器,判断请求的文件在服务端不存在,组装404状态的响应报文发送给浏览器。
3390
2021-12-23 14:22:52
jQuery选择集转移怎么操作?如何写代码?
jQuery选择集转移怎么操作?如何写代码?选择集是通过$()方法获取到的所有标签的集合。选择集转移以选择的标签为参照获取转移后的标签。
2565
2022-01-04 16:17:09
热门文章
- 前端是什么
- 前端开发的工作职责
- 前端开发需要会什么?先掌握这三大核心关键技术
- 前端开发的工作方向有哪些?
- 简历加分-4步写出HR想要的简历
- 程序员如何突击面试?两大招带你拿下面试官
- 程序员面试技巧
- 架构师的厉害之处竟然是这……
- 架构师书籍推荐
- 懂了这些,才能成为架构师 查看更多
扫描二维码,了解更多信息