2017-06-09 66 views
0

Odoo ORM具有二進制類型字段可容納圖像。這些圖像的問題在於,它們是以base64編碼的HTML形式提供的。這些加起來HTML大小,不能緩存或通過CDN傳遞。Odoo顯示圖像替代

我需要添加上傳到模塊的圖像。這些圖像將顯示在網站上。有沒有其他的方法呢?以下型號代碼:

class BannerImage(models.Model): 
    _name = 'banner.image' 
    _description = 'Banner Image' 

    image_desktop = fields.Binary('Desktop Image', attachment=True) 
    image_mobile = fields.Binary('Mobile Image', attachment=True) 

    start_date = fields.Date("Start Date") 
    end_date = fields.Date("End Date") 

    action = fields.Char("URL") 
    desc = fields.Text("Additional Description") 
    banner = fields.Many2one('banner.banner', "Banner") 

信息查看後臺聲明如下:

<record id="action_view_banner_images" model="ir.actions.act_window"> 
    <field name="name">Banner Images</field> 
    <field name="res_model">banner.image</field> 
    <field name="view_mode">tree,form</field> 
</record> 

這些在如下HTML模板中使用:

<div class="banners"> 
    <t t-foreach="banners.images" t-as="banner_image"> 
     <img class="media-object img-responsive" t-attf-src="data:image/*; base64,{{banner_image.image_desktop}}" /> 
    </t> 
</div> 

有另一種方式來調用這些圖像,可能使用網址?

回答

1

你可以使用像 「T-AttF設定-SRC =/WEB /二/圖像?模型= ir.attachment &場= DATAS & ID =(您的IMG ID)」,而不是 「T-AttF設定-SRC =」數據:圖像/ *; ......「?。

+0

是否有一種方式來獲得從模型本身的連接ID然後,它將可能在模板指 – user3295878

+0

得到了它,我使用它是這樣的:」叔AttF設定-SRC = /網絡/二進制/圖像?模型= banner.image&字段= image_desktop&ID = {{banner_image.id}}」 – user3295878