在谈Python中Django框架和Flask框架的区别之前,我们需要先探讨如下几个问题。
1、为什么要使用框架?
为了更好地阐述这个问题,我们把开发一个应用的过程进行类比,往往开发一个应用(web应用、系统应用)跟建造房子的过程一样,需要先打地基,搭好骨架,然后一块砖一块砖叠上去。
而开发一个应用呢?
同样也需要一个好的架构设计,数据库建模,然后一个模块一个模块使用代码实现。
如果开发一个软件应用不使用框架,和我们建房子时,每一块砖、每一根钢筋都需要自己生产出来本质上是一样的。
显而易见,如果在建造房子之前,每一块砖头、每一种建材,都需要我们自己去生产的话,建造房子的效率是极低的,甚至可能一辈子也无法把房子建造好。
在开发应用系统时,使用框架可以带来如下好处:
2、为什么使用Django和Flask框架?
在Python编程语言的世界里,功能最强大、最流行的两个框架。
不仅在web后端开发、微服务开发,同时在ERP系统开发、API接口开发等领域,这两个框架应用非常广泛。
3、Django和Flask的区别
◆ 形象类比
如果Django类似于精装修的房子,自带豪华家具、非常齐全功能强大的家电,什么都有了,拎包入住即可,十分方便。
而Flask类似于毛坯房,自己想把房子装修成什么样自己找材料,买家具自己装。
材料和家具种类非常丰富,并且都是现成免费的,直接拿过去用即可。
◆ 在体量上的区别
Flask:小巧、灵活,让程序员自己决定定制哪些功能,非常适用于小型网站。
对于普通的工人来说将毛坯房装修为城市综合体还是很麻烦的,使用Flask来开发大型网站也一样,开发的难度较大,代码架构需要自己设计,开发成本取决于开发者的能力和经验。
Django:大而全,功能极其强大,是Python web框架的先驱,用户多,第三方库极其丰富。
非常适合企业级网站的开发,但是对于小型的微服务来说,总有“杀鸡焉有宰牛刀”的感觉,体量较大,非常臃肿,定制化程度没有Flask高,也没有Flask那么灵活。
◆ 通过大数据统计分析
全球著名的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。
◆ 完成同样一个Hello World功能
使用Flask来完成:
第一步,安装Flask,pip install flask
第二步,创建my_first_app.py文件,添加如下代码
完成最简单的Hello World功能,Flask只需要7行代码,非常简单、方便。
使用Django来完成:
第一步,安装Django,pip install django
第二步,创建工程项目目录,django-admin startprojectmyproject
第三步,创建子应用,python manage.py startappmyapp
第四步,在myapp应用所在目录中的views.py文件中,添加如下代码。
第五步,在myapp应用所在目录中创建urls.py路由文件,并添加如下代码
第六步,在主路由文件中添加路由。
从上面的操作步骤可知,实现同样的一个功能,往往Flask较为简单,代码较少,而Django所涉及到的流程较多,工程项目结构清晰,在大型项目中具有优势。
4、实际中如何选择这两个框架
如果你想搞懂Python web开发WSGI协议原理以及实现过程、或者你想灵活定制组件,完全DIY你的应用、想实现微服务。
那么建议你选择Flask。
如果你关注产品的最终交付、想快速开发一个大的应用系统(比如新闻类网站、商城、ERP等)。
那么建议你选择Django,你想得到的功能它都有,想不到的功能它也有。
5、如何才能学好框架
1、需要先学习框架的基础知识、基本实现原理
2、结合项目实践,提升编码能力和业务逻辑的理解
3、翻看框架源码,深入理解源码精髓(进阶)
6、Python测试开发[柠檬班】
理论结合实际,深入理解请求到响应的整个过程。
使用Python中现今最流行的Flask和Django框架分别开发测试平台,加强对软件测试的理解、提升编程思维以及开发能力。
题外话
在此疾速成长的科技元年,编程就像是许多人通往无限可能世界的门票。而在编程语言的明星阵容中,Python就像是那位独领风 骚的超级巨星, 以其简洁易懂的语法和强大的功能,脱颖而出,成为全球最炙手可热的编程语言之一。
Python 的迅速崛起对整个行业来说都是极其有利的 ,但“人红是非多
”,导致它平添了许许多多的批评,不过依旧挡不住它火爆的发展势头。
如果你对Python感兴趣,想要学习pyhton,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!
😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
👉CSDN大礼包🎁:全网最全《Python学习资料》免费分享(安全链接,放心点击)👈
1️⃣零基础入门
① 学习路线
对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
② 路线对应学习视频
还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
③练习题
每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
2️⃣国内外Python书籍、文档
① 文档和书籍资料
3️⃣Python工具包+项目源码合集
①Python工具包
学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
②Python实战案例
光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
③Python小游戏源码
如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
4️⃣Python面试题
我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
5️⃣Python兼职渠道
而且学会Python以后,还可以在各大兼职平台接单赚钱,各种兼职渠道+兼职注意事项+如何和客户沟通,我都整理成文档了。
上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓