You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Odoo网站中为HTML元素的data-email属性赋值动态用户邮箱?

Odoo模板动态设置data-email属性解决方案
  • 你之前用t-att-data-email="request.env.user.paretner_id.email"报错,核心原因是拼写错误:把partner_id写成了paretner_id,纠正拼写后就能正常解析表达式了。
  • 直接写data-email="request.env.user.partner_id.email"无效,是因为普通HTML属性不会被Odoo的QWeb模板解析,只会原样传递字符串。

正确的写法如下,同时优化了data-authenticated的动态判断(避免硬编码):

<div
    id="customer-identification-html-element"
    t-att-data-authenticated="request.env.user != request.website.user_id"
    t-att-data-email="request.env.user.partner_id.email if request.env.user.partner_id else ''"
>
</div>

补充说明:

  • t-att-属性名是QWeb模板的动态属性绑定语法,会自动计算右侧Python表达式的结果并赋值给对应属性
  • 加入if request.env.user.partner_id else ''是为了兼容用户未关联合作伙伴的场景,避免模板渲染报错
  • request.website.user_id是Odoo网站的公共匿名用户,用它判断用户是否已登录,让data-authenticated属性值更准确

内容的提问来源于stack exchange,提问作者Andrea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 11:33:13