Python测试开发中Django和Flask框架的区别

在谈Python中Django框架和Flask框架的区别以前,咱们须要先探讨以下几个问题。python

1、为何要使用框架?程序员

为了更好地阐述这个问题,咱们把开发一个应用的过程进行类比,每每开发一个应用(web应用、系统应用)跟建造房子的过程同样,须要先打地基,搭好骨架,而后一块砖一块砖叠上去。web

而开发一个应用呢?数据库

一样也须要一个好的架构设计,数据库建模,而后一个模块一个模块使用代码实现。django

若是开发一个软件应用不使用框架,和咱们建房子时,每一块砖、每一根钢筋都须要本身生产出来本质上是同样的。编程

显而易见,若是在建造房子以前,每一块砖头、每一种建材,都须要咱们本身去生产的话,建造房子的效率是极低的,甚至可能一生也没法把房子建造好。flask

在开发应用系统时,使用框架能够带来以下好处:后端

一、大大提高开发效率;服务器

二、让应用开发更加规范、拓展性更强;架构

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

你们在学python的时候确定会遇到不少难题,以及对于新技术的追求,这里推荐一下咱们的Python学习扣qun:784758214,这里是python学习者汇集地

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、如何才能学好框架

一、须要先学习框架的基础知识、基本实现原理

二、结合项目实践,提高编码能力和业务逻辑的理解

三、翻看框架源码,深刻理解源码精髓(进阶)

相关文章
相关标签/搜索