先了解一下odoo的资源包分类(参考链接:https://www.cnblogs.com/xushuotec/p/14502213.html
以下是Odoo中使用的不同资产包:
web.assets_common: 这个资产包包括所有应用程序通用的所有基本实用程序,如jQuery、Underscore.js、Font Awesome等。该资产包用于前端(网站)、后端、销售点、报告等。这个公共资产在Odoo几乎无处不在。它还包含用于Odoo模块系统的boot.js文件。
web.assets_backend: 这个资产包用于Odoo(企业资源规划(ERP)部分)的后端。它包含与web客户机、视图、字段小部件、操作管理器等相关的所有代码。
web.assets_frontend|website.assets_frontend: 这个资产包用于Odoo的前端(网站部分)。它包含了所有相关的代码到网站端应用程序,如电子商务、博客、在线事件、论坛、实时聊天等。注意,这个资产包不包含与网站编辑或拖放特性(网站构建器)相关的代码。这背后的原因是,我们不想加载编辑器资产的公共使用的网站。
website.assets_editor|web_editor.summernote: 这个资产包包含与网站编辑片段选项和拖放功能(网站构建器)相关的代码。只有当用户拥有编辑权限时,才会在网站上加载它。它也被用于群发邮件的设计者。
web.report_assets_common: QWeb报告只是从HTML生成的PDF文件。该资产被加载到报告布局中。
重要信息
还有一些其他用于特定应用的资产包:point_ of_sale.assets, survey.survey_assets, mass_mailing. layout, and website_slides.slide_embed_assets

ok,进入正题, 模块名称:my_module
1:首先定义assets.xml文件
路径:views/assets.xml
代码:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <template id="assets_backend" name="my_module assets" inherit_id="web.assets_backend">
        <xpath expr="." position="inside">
           <link rel="stylesheet" href="xxxx"/>
           <script type="text/javascript" src="xxxx"></script>
        </xpath>
    </template>
</odoo>

功能:继承web.assets_backend,并且在里面添加一个css\js

2:在__manifest__.py的data里面引入该文件

'data': [
    "views/assets.xml",
],

3:使用
代码

<template id="my_module.my_templ">
        <head>
            <t t-call-assets="my_module.assets_backend" t-js="false"/>
            <t t-call-assets="my_module.assets_backend" t-css="false"/>
        </head>
</template>

功能
在head加载assets.xml里面的名叫assets_backend的template的内容,
不加载js
不记载css

可以通过position属性改变资源的加载顺序
before:之前插入
after:之后插入
inside:内部创建