gpt4 book ai didi

python - aiohttp:如何将sub_app添加到sub_app?

转载 作者:太空宇宙 更新时间:2023-11-03 14:14:25 25 4
gpt4 key购买 nike

我需要将 sub_app 添加到 sub_app。这是我的代码

app = web.Application()

subapp = web.Application()
subapp.router.add_get('/page1/', handler)
app.add_subapp('/wt/', subapp)

subsubapp = web.Application()
subsubapp.router.add_get('/page2/', handler)
subapp.add_subapp('/sub/', subsubapp)

为什么找不到页面/wt/sub/page2/?我认为 subsubapp 的路径是 /wt/ (sub_app) 和 /sub/ ( subsubapp)。我错了吗?规则是什么?

问候,瓦莱里.

最佳答案

aiohttp 2.3 版有一个微妙的错误:它不会通知不正确的子应用程序初始化顺序。

在父应用程序中注册后,子应用程序逻辑上被卡住,向其添加新路由是一个错误。

尚未发布 aiohttp 3.0 在 app.add_subapp() 调用上引发显式异常,请参阅相应的 issuepull request了解更多详情。

要修复您的代码片段重新排序路由注册调用:

from aiohttp import web

async def handler(request):
return web.Response(text="OK")

subsubapp = web.Application()
subsubapp.router.add_get('/page2/', handler)

subapp = web.Application()
subapp.router.add_get('/page1/', handler)
subapp.add_subapp('/sub/', subsubapp)

app = web.Application()
app.add_subapp('/wt/', subapp)

web.run_app(app, host='127.0.0.1', port=8080)

获取http://127.0.0.1:8080/wt/sub/page2/资源后返回200 OK

关于python - aiohttp:如何将sub_app添加到sub_app?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48284349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com