0
オードーORMには、画像を保持できるバイナリタイプのフィールドがあります。これらの画像の問題点は、base64でエンコードされたHTMLで配信されることです。これらはHTMLサイズと合算され、CDN経由でキャッシュまたは配信することはできません。オドー表示画像代替
アップロードする画像をモジュールに追加する必要があります。これらの画像はWebサイトに表示されます。これに代わるアプローチがありますか?以下のモデルコードは:バックエンド用
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>
、これらの画像を呼び出すために別の方法があり、おそらくURLを使用して
モデル自体から添付ファイルIDを取得する方法はありますか?テンプレートで参照することは可能でしょうか – user3295878
入手しました: t-attf-src =/web/binary/image?model = banner.image&field = image_desktop&id = {{banner_image.id}} " – user3295878