动态变量 qweb odoo v8
dynamic variable qweb odoo v8
我有一个网页,我需要在其中动态创建一些字段和变量。
让我解释一下:在第一页上,我有一个文本字段,我必须在其中键入我想要的用户数。该数字作为参数传递给下一页(post 方法)并在第二页上收集为 nb_user。
在第二页的 template.xml 中,我有以下代码:
<form method="POST" class="col-md-8" action="/page_three">
<t t-foreach="nb_user" t-as="user">
<input type="text" name="comp_1_user_1" id="comp_1_user_1" class="form-control" placeholder="Computer user"/>
</t>
<input type="submit" class="btn btn-primary" value="Validate"/>
我想要的是,根据在 post (nb_user) 中传递的数字,它应该动态创建该数量的文本字段并创建唯一 ID (comp_1_user_1, comp_1_user_2 等......) 这样我就可以将该数据输入到我的数据库中。
所以如果参数是 3 那么它应该创建 3 个文本字段并创建 3 个变量 comp_1_user_1, comp_1_user_2, comp_1_user_3.
希望我说得够清楚了。
我是 Odoo 和 Qweb 的新手。
感谢您提供的任何帮助。
要将文字与 non-literals 混合使用 tf-attf-$name
属性,其中 $name
代表所需的属性。作为参数,您可以使用 format-string,在您的情况下:
<t t-foreach="nb_user" t-as="user">
<input type="text"
t-attf-name="comp_1_user_{{ user }}"
t-attf-id="comp_1_user_{{ user }}"
class="form-control"
placeholder="Computer user"/>
</t>
这将被 QWeb 评估为属性 name
(分别为 id
),其内容被评估为格式字符串。也就是说,字符串 comp1_user_
按原样传递, {{ user }}
片段的内容被评估为 Python 代码。
运行 数组包含 [1,2,3]
而不是像这样 nb_user
<t t-foreach="[1,2,3]" t-as="user">
<input type="text"
t-attf-name="comp_1_user_{{ user }}"
t-attf-id="comp_1_user_{{ user }}"
class="form-control"
placeholder="Computer user"/>
</t>
导致
与 name
和 id
迭代 comp_1_user_1
、comp_1_user_2
和 comp_1_user_3
。来自 Chrome DevTools 的屏幕截图:
更多信息see docs。
我有一个网页,我需要在其中动态创建一些字段和变量。
让我解释一下:在第一页上,我有一个文本字段,我必须在其中键入我想要的用户数。该数字作为参数传递给下一页(post 方法)并在第二页上收集为 nb_user。
在第二页的 template.xml 中,我有以下代码:
<form method="POST" class="col-md-8" action="/page_three">
<t t-foreach="nb_user" t-as="user">
<input type="text" name="comp_1_user_1" id="comp_1_user_1" class="form-control" placeholder="Computer user"/>
</t>
<input type="submit" class="btn btn-primary" value="Validate"/>
我想要的是,根据在 post (nb_user) 中传递的数字,它应该动态创建该数量的文本字段并创建唯一 ID (comp_1_user_1, comp_1_user_2 等......) 这样我就可以将该数据输入到我的数据库中。
所以如果参数是 3 那么它应该创建 3 个文本字段并创建 3 个变量 comp_1_user_1, comp_1_user_2, comp_1_user_3.
希望我说得够清楚了。 我是 Odoo 和 Qweb 的新手。
感谢您提供的任何帮助。
要将文字与 non-literals 混合使用 tf-attf-$name
属性,其中 $name
代表所需的属性。作为参数,您可以使用 format-string,在您的情况下:
<t t-foreach="nb_user" t-as="user">
<input type="text"
t-attf-name="comp_1_user_{{ user }}"
t-attf-id="comp_1_user_{{ user }}"
class="form-control"
placeholder="Computer user"/>
</t>
这将被 QWeb 评估为属性 name
(分别为 id
),其内容被评估为格式字符串。也就是说,字符串 comp1_user_
按原样传递, {{ user }}
片段的内容被评估为 Python 代码。
运行 数组包含 [1,2,3]
而不是像这样 nb_user
<t t-foreach="[1,2,3]" t-as="user">
<input type="text"
t-attf-name="comp_1_user_{{ user }}"
t-attf-id="comp_1_user_{{ user }}"
class="form-control"
placeholder="Computer user"/>
</t>
导致
与 name
和 id
迭代 comp_1_user_1
、comp_1_user_2
和 comp_1_user_3
。来自 Chrome DevTools 的屏幕截图:
更多信息see docs。