什么是QWeb?

QWeb is the primary templating engine used by Odoo2. It is an XML templating engine1 and used mostly to generate HTML fragments and pages.

QWeb是Odoo使用的最主要的模板引擎(因为Odoo也使用Jinja2)。它是一个xml模板引擎,常被用来生成HTML页面。

Template directives are specified as XML attributes prefixed with t-, for instance t-if for conditionals, with elements and other attributes being rendered directly.

模板的指令就是一些t-作为前缀的XML属性,例如t-if,就是条件指令。除了这种t指令,其他的元素或属性都会被直接渲染。

To avoid element rendering, a placeholder element <t> is also available, which executes its directive but doesn't generate any output in and of itself:

<t t-if="condition">
    <p>Test</p>
</t>

will result in:

<p>Test</p>

if condition is true, but:

<div t-if="condition">
    <p>Test</p>
</div>

will result in:

<div>
    <p>Test</p>
</div>

什么意思?不是在介绍什么是QWeb吗?

是的,QWeb很简单,介绍起来也不过几句话。所以,官方给我们对比了两种写法,解释起来就是:为了避免元素被渲染,可以使用一个占位元素<t>,这个占位元素只执行指令,不会创建什么输出内容。

明白了吗?

如果我们用第二种方式,就多创建了外层的<div>元素。

 

留下评论

你应该 登入 张贴评论