我正在尝试在AIOhttp中嵌套应用程序,但无法让它运行。
如果我希望我的网址与{1, 2, 3, 6}
和localhost/greet/
类似,我使用的是以下代码,但却提供localhost/greet/abc
,因此我的路由不正确。
我也无法在这里找到太多的在线资源。
以下是我的代码:
404 Not Found
任何指导都会有所帮助!
答案 0 :(得分:1)
不完全清楚你的问题是什么,但这样可行:
from aiohttp import web
async def index_view(request):
return web.Response(text='index\n')
async def subapp_view(request):
name = request.match_info.get('name', "Anonymous")
txt = "Hello {}\n".format(name)
return web.Response(text=txt)
app = web.Application()
app.router.add_get('/', index_view)
greet = web.Application()
greet.router.add_get('/{name}', subapp_view)
app.add_subapp('/greet/', greet)
if __name__ == '__main__':
web.run_app(app, host='127.0.0.1', port=8080)
然后用curl测试:
~ 0 25ms ➤ curl localhost:8080/
index
~ 0 33ms ➤ curl localhost:8080/greet/world
Hello world
希望能回答你的问题。