自己做影视会员网站,设计师值得拥有的设计导航,十大舆情网站,html家乡网站设计模板前言
当你掌握了python的基础知识#xff0c;并且会用和HTML和CSS编写简单的静态网页。现在你只需再掌握一个python web框架的知识#xff0c;就可以开始编写一个动态的网站了。目前市面比较流程的python web框架有三个flask、Django、FastAPI。接下来我们对比一下。他们三个…前言
当你掌握了python的基础知识并且会用和HTML和CSS编写简单的静态网页。现在你只需再掌握一个python web框架的知识就可以开始编写一个动态的网站了。目前市面比较流程的python web框架有三个flask、Django、FastAPI。接下来我们对比一下。他们三个各自有什么特点。
Flask、Django、FastAPI 对比
下面我们从维度有性能、实时性、异步特性、稳定性、扩展性、社区支持、对restful支持、适用场景这几个维度对比三款python web框架。
维度/框架FlaskDjangoFastAPI性能中等同步框架中等同步框架但具有优化ORM高异步框架适合高并发实时性基本不支持需借助外部库基本不支持需借助外部库支持异步特性有助于实时应用异步特性不支持需使用外部库或服务器不支持但可使用Channels实现支持内置异步功能稳定性稳定成熟框架非常稳定广泛使用较新但迅速成熟扩展性高插件和扩展丰富高内置大量功能高易于集成其他异步库社区支持大型社区丰富的资源非常大的社区广泛的文档和资源活跃的社区增长迅速对RESTful支持通过扩展和插件良好支持通过Django REST framework实现内置支持易于构建REST API适用场景轻量级应用微服务大型应用全栈框架高性能API服务微服务
详细说明 Flask: 轻量级框架适合小型项目和微服务。由于是同步的性能在高并发场景下可能受限但通过使用异步服务器或库可以部分解决。社区支持非常强大有大量的插件和扩展可供选择。 Django: 全功能的Web框架内置了ORM、模板引擎等。适合构建大型应用但同步的特性可能在处理大量并发请求时成为瓶颈。Django的社区非常庞大有丰富的文档和第三方库。 FastAPI: 现代的异步框架基于Python 3.6的类型提示。性能高非常适合构建高性能的API服务。FastAPI的社区正在迅速增长虽然不如Flask和Django成熟但发展势头强劲。
异步概念理解 对于初学编程的伙伴可能不太理解异步的概念我这里举一个例子帮助你理解。
如果web框架不支持异步。你可以想象新冠期间做核酸检测的场景(假设核酸检测点只有一组设备只能只能排一个长队)很多人排长队到一个站点做核酸检测监测点站点同一时间不能给多个人做核酸只能检测完前面的人才能再检测后边的人。这里排队的人要做核酸检测就相当于用户在浏览器发起对web服务器的请求检测点给排队的人做检测相当于服务器对客户端做出的响应。同一时间多个人要做核酸也只能给一个人做检测相当于web服务器同一时间只能接受一个客户端请求响应完前面的用户请求才能处理后面的请求。如果web框架支持异步。你可以想象在餐厅用餐同一个时间可以多个人点餐点餐完成后厨房可以同时为多个用户准备菜品。这个过程就是异步的。
总结
通过以上对比可以看出三个框架各有所长但是作为初学者我的建议是先学习Flask框架可能Flask并不适合做大型网站程序如果编写高性能的网站采用前后端分裂的架构选择FastAPI是个明智的选择但是它被广泛用于编写大模型应用的web界面这种本地部署的应用几乎对web框架性能和异步特性没有要求。另外Flask对比另外两个框架更加简单易学甚至你抽出一个周末或一上午的时间就可以用它搭建一个差不多的WEB应用。我们把更多的时间和精力放在更有意义的业务和智能应用上面不香吗。