Odoo 员工形象未显示在网站模板上

Odoo employee image is not been showed on website template

我正在尝试在网站模板上显示员工的照片(字段:hr_employee.image)。但是模板只显示员工的默认图片而不是加载的图片。

我试过这个:

<span t-field="employee.image" t-options="{'widget': 'image', 'style': 'height:200px;width:200px;'}"/>

而且,试过这个:

<div t-field="employee.image" t-options="{'widget': 'image', 'style': 'height:200px;width:200px;'}"/>

还有这个:

<img t-field="employee.image" t-options="{'widget': 'image', 'style': 'height:200px;width:200px;'}"/>

模板只显示这个:

恐怕访问图像并不那么简单,因为您需要 sudo 访问权限才能获取它们。如果您正在访问内置的员工模块,那么基本模型已经为您提供了这个 sudo 访问权限。而是使用以下内容:

<img t-att-src="image_data_uri(employee.image_1920)" style="max-height:85pt;max-width:90%"/>

1920是指图片的大小。您还可以使用 employee.image_1024employee.image_512employee.image_256employee.image_128

如果您尝试从自己的自定义模块访问图像,则需要更新 .py 文件以访问图像并提供其 public url.

您可以使用 website.image_url 来定义图像 src 属性。

<img t-att-src="website.image_url(employee, 'image_medium')" class="img shadow rounded" alt="Employee"/>  

以上代码摘自website_hr 模块(aboutus 模板)