js
/** @odoo-module **/ import { registry } from "@web/core/registry"; import { Layout } from "@web/search/layout"; import { getDefaultConfig } from "@web/views/view"; import { Component, onWillStart, useSubEnv } from "@odoo/owl"; import { useBus, useService } from "@web/core/utils/hooks"; class MyClientAction extends Component { "use strict"; setup() { useSubEnv({ config: { ...getDefaultConfig(), ...this.env.config, }, }); this.rpc = useService("rpc"); onWillStart(async () => { await this.rpc('/testjs/', ['']).then((val)=>{ console.log(val); }); }); this.display = { controlPanel: { "top-right": false, "bottom-right": false }, }; } } MyClientAction.template = "my_module.clientaction"; registry.category("actions").add("my_module.MyClientAction", MyClientAction);
controller
from odoo import http from odoo.http import request, serialize_exception # from odoo import api, SUPERUSER_ID import os class SapbotUpload(http.Controller): @http.route('/sapbot/', auth='user', type='http', csrf=False) def sapbot_upload(self, *args, **kwargs): print('hello.') for each in args: print(each) for each in kwargs: print(each, '=>', kwargs[each]) if each == 'file': filepath = os.path.join(os.getcwd(), 'data', 'attachments', kwargs[each].filename) kwargs[each].save(filepath) return '234234' @http.route('/testjs', auth='user', type='http', csrf=False) def testjs(self): print('testjs, sdff===============================================================') return {'abc': 123}
xml
<?xml version="1.0" encoding="UTF-8" ?> <templates xml:space="preserve"> <t t-name="my_module.clientaction"> Hello world, second. </t> </templates>
标签:http,kwargs,odoo,用法,rpc,each,import From: https://www.cnblogs.com/pythonClub/p/17916340.html