字段email_from中的odoo电子邮件模板中的“| safe”是什么

时间:2016-03-30 16:49:34

标签: python email openerp

Odoo电子邮件模板正在使用电子邮件模板中的email_from。因为我见过像

这样的例子

${(object.email or '')|safe}

这是截图

enter image description here

因为我对|safe感到困惑,我想知道'| safe'的用法。

2 个答案:

答案 0 :(得分:3)

框架将自动转义HTML。但是,当您必须阻止模板转义HTML时,您可以使用“安全”过滤器。对用户控制的变量使用安全过滤器可能会导致XSS(JS注入)漏洞。

答案 1 :(得分:1)

Well Safe基本上是一个过滤器,过滤器通过管道符号(|)与变量分开。 因此${(object.email or '')|safe}的输出将产生为 ${safe(object.email or '')}

  

安全用于阻止模板转义HTML内容。安全过滤器明确地将字符串标记为“安全”,因此它   即使启用了自动转义,也不应自动转义   通过ODOO框架。

有关详细信息,请访问:

  

http://jinja.pocoo.org/docs/dev/templates/#working-with-manual-escaping   http://jinja.pocoo.org/docs/dev/templates/#working-with-automatic-escaping