Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在odoo数据模板内调用qweb模板_Python 3.x_Odoo_Odoo 11_Odoo 12 - Fatal编程技术网

Python 3.x 在odoo数据模板内调用qweb模板

Python 3.x 在odoo数据模板内调用qweb模板,python-3.x,odoo,odoo-11,odoo-12,Python 3.x,Odoo,Odoo 11,Odoo 12,我正试图使登录和注册的OTP服务。因此,我为otp服务制作了一个模块,该模块运行良好。但在这里,对于UI,我制作了一个模板,应该在登录页面内调用该模板,以显示otp框和otp发送按钮。请参见下面的samplae代码: <templates xml:space="preserve"> <div name="otp_service" t-name="bulk_sms_otp_service.otp_service"

我正试图使登录和注册的OTP服务。因此,我为otp服务制作了一个模块,该模块运行良好。但在这里,对于UI,我制作了一个模板,应该在登录页面内调用该模板,以显示otp框和otp发送按钮。请参见下面的samplae代码:

<templates xml:space="preserve">
    <div name="otp_service" t-name="bulk_sms_otp_service.otp_service">
        <h1>Hello world</h1>
    </div>
</templates>
我不知道我的代码出了什么问题,或者我错了。请帮助我解决此问题。

您可以通过以下网址阅读:

在这种情况下,模板存储在数据库中(作为视图)

您可以推断某些qweb模板未存储在数据库中

您还可以在文档中阅读,在web客户端启动时,将加载每个模块清单中qweb条目中列出的文件中定义的模板


当odoo处理
custom\u login
模板时,它将尝试将
bulk\u sms\u otp\u服务.otp\u服务
template
view\u id
(从
ir.model.data
)检索到相应的模板,它将失败,因为
custom\u login
模板未存储在数据库中(在
ir.ui.view
).

嘿,有什么办法可以做指令之类的事情吗?无论何时调用指令,它都会调用相关的javascript。就像我的指令是otp now一样,如果调用
,它将呈现otp模板。还有任何方法可以在qweb模板中呈现自定义视图类型或小部件。显然,在网站内部,不是在odoo表单视图或其他视图中。您可以创建一个,将模板与之关联,然后实例化并将其插入DOM,或者呈现模板,然后将结果附加到元素中,您可以在
<odoo>
  <template id="custom_login" name="Custom login" inherit_id="web.login">
    <xpath expr="//p[hasclass('alert-success')]" position="after">
        <t t-call="bulk_sms_otp_service.otp_service"/>
    </xpath>
  </template>
</odoo>
External id "bulk_sms_otp_service.otp_service" not found