1. Day 2 - 编写Web App骨架
    2. 阅读: 258782
    3. 由于我们的Web App建立在asyncio的基础上,因此用aiohttp写一个基本的app.py
    4. import logging; logging.basicConfig(level=logging.INFO)
    5. import asyncio, os, json, time
    6. from datetime import datetime
    7. from aiohttp import web
    8. def index(request):
    9. return web.Response(body=b'<h1>Awesome</h1>')
    10. @asyncio.coroutine
    11. def init(loop):
    12. app = web.Application(loop=loop)
    13. app.router.add_route('GET', '/', index)
    14. srv = yield from loop.create_server(app.make_handler(), '127.0.0.1', 9000)
    15. logging.info('server started at http://127.0.0.1:9000...')
    16. return srv
    17. loop = asyncio.get_event_loop()
    18. loop.run_until_complete(init(loop))
    19. loop.run_forever()
    20. 运行python app.pyWeb App将在9000端口监听HTTP请求,并且对首页/进行响应:
    21. $ python3 app.py
    22. INFO:root:server started at http://127.0.0.1:9000...
    23. 这里我们简单地返回一个Awesome字符串,在浏览器中可以看到效果:
    24. 这说明我们的Web App骨架已经搭好了,可以进一步往里面添加更多的东西。
    25. 参考源码
    26. day-02