Xml 如何以特定product.id的形式发出操作调用?

Xml 如何以特定product.id的形式发出操作调用?,xml,openerp,odoo-9,Xml,Openerp,Odoo 9,我有个问题。在my template.xml中,我有一个带有操作的表单标记: <form action="/my/test/#{product.id}" method="post"> 如何为行动调用提供特定的product.id。我的意思是当它是product.id“1”时,它应该调用/my/test/1,当它是product.id“2”=/my/test/2时 我如何处理这个问题 谢谢你了解你的工作很重要 如果要为标记创建动态属性,请使用odoo。您有两种可能: t-att-

我有个问题。在my template.xml中,我有一个带有操作的表单标记:

<form action="/my/test/#{product.id}" method="post">

如何为行动调用提供特定的product.id。我的意思是当它是product.id“1”时,它应该调用/my/test/1,当它是product.id“2”=/my/test/2时

我如何处理这个问题


谢谢你

了解你的工作很重要

如果要为标记创建动态属性,请使用odoo。您有两种可能:

t-att-$name $name是属性的名称

范例

<t t-set="class" t-value="['class1','class2]"/>
<span t-att-class="class[0]"/>

html代码返回将是

<span class="class1"/>
<span class="mainclass class1"/>
<span class="mainclass class2"/>

用于计算代码的t-att-$名称

t-attf-$name 与前面相同,但参数是一个格式字符串,而不仅仅是一个表达式,通常用于混合文字字符串和非文字字符串:

范例

<t t-set="class" t-value="['class1','class2]"/>
<span t-attf-class="mainclass #{class[0]}"/>
<span t-attf-class="mainclass #{class[1]}"/>

html代码返回将是

<span class="class1"/>
<span class="mainclass class1"/>
<span class="mainclass class2"/>

在本例中,需要将文字值与变量连接起来

您必须使用t-attf-$name

<form t-attf-action="/my/test/#{product.id}" method="post">

现在在python代码中,您需要创建一个动态路由

在你的情况下,你的路线必须是这样的

@http.route(['/my/test/<int:product_id>/'], type='http', auth="user", website=True)
def my_test_product(self, product_id, **kwargs):
    #your code
    return request.website.render("your_model.template_id")
@http.route(['/my/test/'],type='http',auth=“user”,website=True)
定义我的测试产品(自身、产品id、**kwargs):
#你的代码
return request.website.render(“您的模型模板id”)

非常感谢,这对我帮助很大,我用以下方法解决了问题:您可以在这篇关于Qweb的文档中找到很多信息