odoo 前端架构 - 原理解说(Qweb/Widget 双渲染过程说明)

大家好,

最近听说,很多同学都未能非常准确地理解 odoo 架构的双渲染模式,今天特别来进行展开讲述。

原理:

  1. 首先通过 QWeb 引擎把 xml 模板与 data 渲染为 HTML DOM。(Python 渲染)
  2. 然后,利用 JavaScript 编写的 Widget 对 “步骤 1” 中获得的 DOM 进行二次渲染,得到最终视图展示效果。(JavaScript 渲染)
  3. 最终,得到精修后的 HTML DOM。

注意,有几个概念,需要特别说明。

  • xml 是一种描述树形结构的计算机语言。
  • JavaScript 是一种面向对象的语言。故此,在 Widget 代码中,可看到,都是对 $el (目标对象)进行操作。其实就是对 DOM 中,<field widget="xx"> 所定位到的那个树节点进行操作。

说明:为了方便大家快速上手,可以参考以下图示。

谢谢!

好了,今天就到这里。

欢迎关注我们,下一节更加精彩!

OpenERP.HK Team

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值