How to print images in Custom QWeb reports in Odoo?

生来就可爱ヽ(ⅴ<●) 提交于 2019-12-01 08:21:13

问题


I would like to display images which are uploaded by users in my custom Qweb reports.

Which is the best way to do that?


回答1:


If you want to show an image from the database you can just use the image widget like this:

<span t-field="o.image_field_name" t-field-options='{"widget": "image"}'/>

And if you want to show an image stored as a file:

<img t-att-src="'/module_name/static/src/img/image_name.png'" />

Note: respect the order and the type of the quotes




回答2:


For someone who lands here from Google... For dynamic images from the database, one can use

<img t-attf-src="data:image/*;base64,{{o.image_field_name}}"/>

...where o.image_field_name is a dynamic field from the database/model. I prefer the <img/> tag over a <span/> for images.

To show a static image, use plain HTML.

<img src="path/to/image/file" alt="Alternate Text"/>

Note: alternate text attribute in an image does not add value in PDF reports. They don't show up when the image is missing, as in HTML.




回答3:


<tr t-foreach="o.pack_operation_ids" t-as="pack_operation">
    <td>
      <span t-field="pack_operation.product_id.image_small" t-field-options='{"widget": "image"}'/>
    </td>
</tr>
  • QWeb has an iteration directive foreach which take an expression returning the collection to iterate on, and a second parameter t-as providing the name to use for the "current item" of the iteration:
  • In <span> I access Image of product_id using pack.operation
  • You can select size of image like: image_small and image_medium



回答4:


Sometimes you need to call a function from QWeb and get image. This code help me to read proper image field and print it with QWeb.

    <t t-foreach="get_image(id)" t-as="image_browse">
         <span t-field="image_browse.image" t-field-options='{"widget": "image"}'/> 
</t>

image_browse is a browse of id that send by get_image(id)



来源:https://stackoverflow.com/questions/33340909/how-to-print-images-in-custom-qweb-reports-in-odoo

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!