Python中aiohttp库的示例项目有哪些?

https://aiohttp-demos.readthedocs.io/en/latest/tutorial.html

话说,在你挖 Python 新坑之前,可以先花时间看一下这个,可能会改变你的想法。
Python中aiohttp库的示例项目有哪些?

20 回复

对标 flask


aiohttp的官方文档里就有几个不错的示例项目,可以直接拿来参考和学习。

最经典的是那个“留言板”示例。它麻雀虽小五脏俱全,用aiohttp实现了完整的Web应用,包括路由、模板渲染(用aiohttp_jinja2)、表单处理和SQLite数据库操作。代码结构清晰,是理解aiohttp基础用法的绝佳起点。你可以在 aiohttp 的GitHub仓库的 examples/ 目录下找到它,文件通常是 examples/web_framework/main.py

另一个值得看的是官方文档里的“WebSockets聊天室”示例。它展示了aiohttp如何处理WebSocket连接,实现一个简单的多房间聊天服务器。这对于理解aiohttp的实时双向通信能力很有帮助。

如果你想找更完整、更“像样”的项目,可以看看GitHub上一些高星的模板或脚手架。比如搜索“aiohttp boilerplate”或“aiohttp project template”,能找到一些集成了ORM(如SQLAlchemy + aiomysql/aiopg)、配置管理、日志、测试等功能的项目结构,这些对规划实际项目很有参考价值。

总结:先从官方案例入手,再参考社区模板。

做过一些 benchmark

如果用 libuv 并发性能 和 node 几乎一样

数据库查询不走 async,直接用 executor 简单场景下更快

还有个新框架 APIStar,也很有意思

最近在看一个叫 Sanic 的框架

Sanic 也是不错的

其实我最喜欢的还是 MMMMMM 架构的 web 框架

已经吃过亏了…… 网上查的中文文档看一天不如看官方文档一会儿

都是骗人的,找一个第三方库都要异步的。

别人写一个 middleware 啥的,都要异步的……

sanic + asyncpg

尝试了一下同步 middleware 完全可以用生成器来做异步,类似这个

https://github.com/zeromake/aiko/blob/master/examples/hello/main.py#L7

我在用,这个库本身质量不错,不过生态不行。很多第三方库还没经受业务的考验

#4 对标 flask~restful?

哦吼 被发现了

不知道这个 3.5+的异步语法是不是最终确定不会改了,现在搜 so 还会看到很多 3.4 之前的用法,非常混乱。

完全不行,没法移植,所有的已有代码都要改成异步的才能用 aio 相关 feature,这工作量根本无法接受

gevent+pure py lib 才是王道

aiohttp 作者写了一片文章来怼 sanic,比如开发团队不负责,接口说改就改没给缓冲期,安全问题一大堆

回到顶部