我在Odoo 16中使用了email_template.xml:

      <field name="body_html">
        <![CDATA[
        <div style="background-color: #333; color: white; padding: 25px">
          <t t-out="object.logo_html"/>
        </div>
        ]]>
      </field>

而我的email_template.py:

class EmailTemplateTest(models.Model):
    _name = "module.test.email.template"  
    logo_html = fields.Char("logo", compute="_compute_logo_html")


    def _compute_logo_html(self):
        for test in self:
            test.logo_html = '<img data-file-name="image.png" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUg..." />'

In mail, i get html but my base64 code convert to url:

<img src="http://localhost:8069/web/image/260?access_token=646c73ba-d0c7-45ef-8656-c8246a321d92" alt="image0"> 

我花了很多时间试图弄清楚为什么它会这样工作,但我找不到它. 我想禁用此功能,因为我的Odoo是一个没有人可以访问的专用网络. 然后图像被准确地发送到Odoo,到一些临时存储中.

*100 behavior is observed even if I explicitly specify base64 in the XML without using python.

也许有人已经面对了这一点,我会感激你的帮助. 我一直在寻找解决方案.

odoo github repo

我试着插入一个图像,比如GitHub Odoo中使用的图像,但后来我发现还有一个URL,而不是Base64:c

推荐答案

我能够修复这个问题,但不确定这是否是修复程序,更有可能是可以用作功能?的错误

我的email_template.py:

class EmailTemplateTest(models.Model):
_name = "module.test.email.template"  
logo_html = fields.Html("logo", compute="_compute_logo_html")


def _compute_logo_html(self):
    for test in self:
        test.logo_html = """
            <img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAQQAAAA4CAYAAAAbx4...."> 
        """  

而我的email_template.xml:

 <field name="body_html">
    <![CDATA[
    <div style="background-color: #333; color: white; padding: 25px">
      <t t-out="object.logo_html"/>
    </div>
    ]]>
  </field>  

在这样的操作之后,Odoo停止了将我的Base64转换成某种类型的URL,并发送了与插入的Base64 img完全相同的邮箱.

Python相关问答推荐

如何在不使用字符串的情况下将namedtuple属性传递给方法?

从今天起的future 12个月内使用Python迭代

使用Ubuntu、Python和Weasyprint的Docker文件-venv的问题

如何防止Plotly在输出到PDF时减少行中的点数?

Pandas 填充条件是另一列

提取两行之间的标题的常规表达

将DF中的名称与另一DF拆分并匹配并返回匹配的公司

Select 用a和i标签包裹的复选框?

将特定列信息移动到当前行下的新行

SQLGory-file包FilField不允许提供自定义文件名,自动将文件保存为未命名

Python json.转储包含一些UTF-8字符的二元组,要么失败,要么转换它们.我希望编码字符按原样保留

如何将Docker内部运行的mariadb与主机上Docker外部运行的Python脚本连接起来

如何在solve()之后获得症状上的等式的值

pandas:排序多级列

移动条情节旁边的半小提琴情节在海运

如何使用scipy的curve_fit与约束,其中拟合的曲线总是在观测值之下?

Plotly Dash Creating Interactive Graph下拉列表

将pandas导出到CSV数据,但在此之前,将日期按最小到最大排序

在www.example.com中使用`package_data`包含不包含__init__. py的非Python文件

如何在海上配对图中使某些标记周围的黑色边框