|现代开发者必备:5个更流畅、更受欢迎的Python web框架
全文共1837字 , 预计学习时长9分钟
本文插图
图源:unsplash
如今 , 可供选择的Python web框架有不少 , 能帮助你更快更轻松地创建web应用 。 本文就将为大家介绍一些更现代、使用更广泛的web框架 。
1.FastAPI
本文插图
FastAPI致力于实现轻便和快速 , 笔者很喜欢它 , 它的开发速度和简单程度令人欣慰 。 这对于端点特别有用 , 因为它们除了逻辑之外通常没有太多内容 , 而且很可能不需要Django或TurboGears等工具提供的所有无用信息来创建 。
FastAPI也有非常好的文档 , 这让它变得易于学习 。 FastAPI中的“快”代表了开发api所需要的速度和这些api返回的速度 。 与其他web框架类似 , 它还基于API创建的开放标准 , 你可以在一个方便的包中获得传输数据所需的所有工具 。
在语法方面 , FastAPI采用一种非常类似于flass的方法来创建端点 。
from fastapi import FastAPI app = FastAPI() @app.get(''/'') async def root(): return {''message'':''Hello World''}
2.Tornado
本文插图
Tornado不仅是一个优秀的web框架 , 而且还是一个异步网络库 , 这让Tornado就能够为数以千计的开放连接服务 。 Tornado使用非阻塞网络进出流 , 使得它对于需要庞大且可伸缩的解决方案非常有用 。
实际上 , Tornado与大多数其他Python web框架有很大不同 , 它不在WSGI上运行 。 虽然这意味着在web服务器的选择上可能受到一些限制 , 但Tornado提供了预打包服务器 , 可以立即启动并运行 。
虽然笔者很喜欢Tornado , 但需要注意的是 , 当笔者尝试用NGINX部署它时确实遇到了很多bug 。 而且在某些情况下 , 让NGINX路由到正确的位置是并不是一件开心的事儿 。 笔者也遇到过Genie for Julia , 不确定是什么原因造成的 , 但如果使用Tornado , 那么最好设置一个Apache服务器 , 而不是NGINX服务器 。
在语法方面 , Tornado采用的是非常类似TurboGears的路由方法 。 使用Tornado时 , 通常会构建类来处理这些路由上的响应 , 而不是将逻辑放在路由中 , 来看看这个例子:
import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler): def get(self): self.write(''Hello,world'') def make_app(): returntornado.web.Application([ (r''/'', MainHandler), ]) if __name__ == ''__main__'': app = make_app() app.listen(8888) tornado.ioloop.IOLoop.current().start()
3.Quart
本文插图
【|现代开发者必备:5个更流畅、更受欢迎的Python web框架】
不要被Quart的标志搞晕了 , 它与Flash模块关系更紧密 , 而不是Bottle模块 。 Quart本质上是把两个web框架放入一个模块的组合:Asyncio和Flask 。
这是一件了不起的事情 , 这两者的结合称得上完美!与Flask一样 , Quart是轻量级的 , 但是也包含了一个完整的异步特性列表 。
笔者也很喜欢Quart , 它感觉就像一个稍微加强了的Flask , 在添加更多功能的过程中不会降低速度或易用性 。 有趣的是 , Quart文档实际上建议你访问Flask文档 , 笔者认为这正说明了它的分叉特性 。 如果你想要一个异步Flask , Quart是很好的选择 。
from quart import Quart app = Quart(__name__) @app.route('/') async def hello(): return 'hello' app.run()
推荐阅读
- 新机发布,雷军|原创 雷军向大众征求旗舰机必备功能,米粉:我可以不用,你不能没有!
- 科技零接触|出差旅游必备的哪些数码设备,你一般都带哪些出门?
- |国产品牌打造亲民SSD!电脑DIY快速提升性能,玩家必备神器
- 云瑞将军的数码港|办公室白领必备——图拉斯颈椎按摩仪U91轻体验
- 人工智能|三星和现代强强联手,有了顶尖芯片能造出最智能的汽车吗?
- 3DMGAME资讯号|开发者:XSX和PS5的硬件性能不重要 利用率更重要
- CSDN|万亿美元软件浪潮来临,开发者是核心!
- |零门槛的AI开发课程!2020 WAIC开发者日百度公开课核心干货
- 科研市|大学生的五千元装机清单
- 工厂|被工厂定义的世界——评《巨兽: 工厂与现代世界的形成》