这一系列一共写了五篇,现在做个总结:
odoo17后台启动过程1——odoo_bin脚手架
odoo17后台启动过程2——odoo_bin server子命令
odoo17后台启动过程3——三种server
odoo17后台启动过程4——odoo.http.root
odoo17后台启动过程5——Ir.http
下图是web请求的生命历程。
入口是: odoo.http.root的__call__方法, 终点是_server_ir_http函数根据请求路径获取到的终点处理函数。
中间调用了ir_http的 _match方法。
路由表的生成过程是重点:也就是http.py中的http._generate_routing_rules(modules, False, converters) 方法。