【odoo15】odoo中的controllers与website

和Django,Flask 挺像的,也是定义路线,然后捞资料,最后回传。

先写 controllers文件夹的内容:【controllers.py】

from odoo import http


class Mysale(http.Controller):

    @http.route('/demo/mysale', auth='user', website=True)
    def list(self, **kwargs):
        obj = http.request.env['mysale.mysale']
        objs = obj.search([])
        return http.request.render(
            'mysale.demo_controllers_template', {'objs': objs})

【init.py】里边:

     @http.route('/demo/mysale', auth='user'),auth=‘user’代表要登录才能看得到。

再写views/demo_controllers_template.xml 【demo_controllers_template】

<odoo>
    <template id="demo_controllers_template" name="Demo odoo List">
            <h1>
                测试一下 - 这个模板 controllers template
            </h1>
            <div>
                <hr/>
                这是一个div!
                <hr/>
            </div>
    </template>
</odoo>

__manifest__.py里把xml添加进去:路径为:

 【0.0.0.0:8069/demo/mysale】

因为并没有导入 website这个模板,所以这时的网页只展示我们写的东西,如果需要加入官方模板,那就得在写controllers.py时 加上 website=True 

在manifest中也得继承website  --- 【 'depends': ['website'] 】


demo_controllers_template.xml的写法也有所改变:

<odoo>
    <template id="demo_controllers_template" name="Demo odoo List">
       <t t-call="website.layout">
            <h1>
                测试一下 这个模板 controllers template
            </h1>
            <div>
                <hr/>
                这是一个div!
                <hr/>
            </div>
        </t>
    </template>
</odoo>

加载出来后就携带官方模板:

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值