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

Odoo13邮件模板中fields.Image字段图片无法显示排查求助

Odoo 13邮件模板中Image字段图片无法显示的排查与解决

原代码的核心问题

你直接拼接URL的方式不符合Odoo对Image字段的处理逻辑,/birthday_picture.png=%s不是Odoo认可的图片访问路径,且Image字段存储的是base64编码内容,无法直接通过这种方式解析。

两种可行的解决方法

方法一:使用Odoo内置的image_url工具函数

Odoo提供了专门生成图片访问URL的方法,能自动处理Image字段的存储逻辑,修改后的代码如下:

<div>
    <img src="${object.image_url('birthday_picture', 60)}" style="width: 60px; height: 60px"/><br/>
</div>
  • 第二个参数60是图片的尺寸,可根据需求调整
  • 注意:这种方式生成的URL依赖Odoo实例的可访问性,若邮件接收方无法访问你的Odoo部署地址,图片会无法加载

方法二:将base64内容转为Data URI嵌入邮件

如果想让图片直接嵌入邮件(无需依赖外部访问),可以把base64编码转为Data URI格式:

<div>
    <img src="data:image/png;base64,${object.birthday_picture}" style="width: 60px; height: 60px"/><br/>
</div>
  • 若图片是JPG格式,需将image/png改为image/jpeg
  • 大图片可能导致邮件体积过大,部分邮箱服务商可能会限制这类邮件

额外排查点

  • 验证字段值是否存在:在模板中临时添加${object.birthday_picture},确认输出的是有效base64字符串
  • 检查上下文对象:确保模板中的object是正确的业务记录,没有出现上下文丢失或对象错误的情况
  • 查看Odoo日志:若使用image_url方法,检查是否有404或权限相关的错误日志,排查访问问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:55:26