#! app.py
import logging;logging.basicConfig(level=logging.INFO)
import asyncio, os, json, time
from datetime import datetime
from aiohttp import web
def index(request): #视图函数
return web.Response(body=b'<h1>Awesome</h1>')
@asyncio.coroutine
def init(loop):
app = web.Application(loop=loop) #1 1 创建app实例
app.router.add_route('GET','/',index) #2 把URL和index函数注册到app.router
srv = yield from loop.create_server(app.make_handler(),'127.0.0.1',9000) #3 用aiohttp.RequestHandlerFactory 作为协议簇创建套接字,可以用 make_handle() 创建。
logging.info('server start at http://127.0.0.1:9000...')
return srv
loop = asyncio.get_event_loop()
loop.run_until_complete(init(loop))
loop.run_forever()
这是基于asyncio和aiohttp搭建的Web骨架。
首先,获取协程 、运行协程
loop = asyncio.get_event_loop() &nb

本文介绍了如何使用asyncio和aiohttp搭建Web应用,讲解了获取和运行协程以及异步协程任务的概念。通过@asyncio.coroutine和yield from创建coroutine,用于在事件循环中执行。同时,提到了视图函数及其在路由中的作用,即处理URL请求。

519

被折叠的 条评论
为什么被折叠?



