先贴上主函数代码:
async def init(loop): await orm.create_pool(loop=loop, host='127.0.0.1', port=3306, user='root', password='root', db='awesome') #1 app = web.Application(loop=loop, middlewares=[ #2 logger_factory, response_factory ]) init_jinja2(app, filters=dict(datetime=datetime_filter)) #3 add_routes(app, 'handlers') #4 add_static(app) #5 srv = await loop.create_server(app.make_handler(), '127.0.0.1', 9000) #6 logging.info('server started at http://127.0.0.1:9000...') return srv loop = asyncio.get_event_loop() loop.run_until_complete(init(loop)) loop.run_forever()
#1:创建数据库连接池;
#2:创建Web Application对象,其中middlewares后面重点述说;
#3:后期使用的模板框架;
#4:添加handlers模块中的URL处理函数到Web Application的router中;
#5:添加css等静态文件;
#6:创建服务器接受处理请求;
本节是一个重难点,各种查资料研究了一个多星期,整理心得体会如下:
一、可参阅资料
1、函数参数
coroweb模块中各种判断handlers模块中的URL处理函数的参数(位置参数、默认参数、可变参数、关键字参数、命名关键字参数)
2、inspect模块相关
(2)【翻译】模块inspect — Inspect live objects