微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Odoo14 如何在模板中使用变量

如何解决Odoo14 如何在模板中使用变量

我到处寻找解决方案,请帮忙。

    <t t-set="product_image" t-value="aggregated_lines[line]['product_image']"/>
    <t t-set="product_name" t-value="aggregated_lines[line]['name']"/>
    <td style="float:left;width:30%;text-align: center;">
       <img t-att-src="data:image/*;base64,{{product_image}}"
                                t-att-alt="{{product_name}}" />
    </td>

我不能使用变量,如果我直接使用aggregated_lines[line]['product_image'] 会报hash set错误

解决方法

为什么不使用图像 url 而不是 base64 编码的二进制内容?使用此网址格式 /web/image/{record_model}/{record_id}/{image_field}。 假设您的模型是 product.template,代码将是这样的。

<img t-att-src="'/web/image/product.template/{}/product_image'.format(product_id)" t-att-alt="product_name"/>

您也不需要在 {{}} 中使用 t-att-*=""。您将 t-attf-*="" 的语法用于 t-att-*=""。注意额外的f。因此,如果您想使用图像的二进制内容,您的代码必须如下所示。

<img t-attf-src="data:image/*;base64,{{product_image}}"
                            t-attf-alt="{{product_name}}" />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。