gpt4 book ai didi

python - [Odoo][Qweb]字典foreach,打印键和值

转载 作者:太空狗 更新时间:2023-10-30 01:41:00 26 4
gpt4 key购买 nike

有没有办法在循环 Qweb 中打印 python 字典中的键和值?例如,如果我有一个返回字典的函数:

def get_informations(self):
mydico={'myfirstkey':1,'mysecondkey':2}
return mydico

然后,在 Qweb 报告中:

<t t-foreach="doc.get_informations()" t-as="l">
<tr>
<td class="text-right">
<t t-esc="l"/>
</td>
<td class="text-right">
<span t-esc="l_value"/>
</td>
</tr>
</t>

如何打印

谢谢

2015 年 7 月 12 日更新:

感谢您的回归。确切地说,当我把

 <t t-foreach="{'my': 'first', 'my2': 'second' }" t-as="v">

它有效,我有类似的东西:

my    first
my2 second

但是当我在 foreach 中使用一个函数时,输出完全相同,qweb 无法将它分开,我有:

{'my': 'first', 'my2': 'second' }
{'my': 'first', 'my2': 'second' }

所以我决定换一种方式:

在我继承的报告中:

<t t-foreach="doc.tabTaxes" t-as="v">
<tr>
<td>
<span t-esc="v.name"/>
</td>
<td>
<span t-esc="doc.get_amount(v.name)[0]"/>
</td>
</tr>
</t>

sale.order 模型中继承:

@api.one
def get_amount(self, taxeNom):
total=0
for ligne in self.order_line:
for taxe in ligne.tax_id:
if (taxeNom == taxe.name):
try: total += ligne.price_reduce * (taxe.amount/100.)
except: total +=0
return "{0:.2f}".format(total)

最佳答案

@FTK,

鉴于您的函数正在将有效字典返回给 qWeb 模板,下面的代码应该可以完成这项工作:

    <div id="wrap" class="oe_structure">
<t t-foreach="{'my': 'first', 'my2': 'second' }" t-as="v">
*<t t-esc="v"/> : <t t-esc="v_value"/></t>
</div>

并且您可以将 tr 放入循环中,这样它就会按照您的预期创建表格行,下面的代码将这样做:

    <div id="wrap" class="oe_structure">
<table class="table table-bordered table-condensed">
<t t-foreach="doc.get_informations()" t-as="item">
<tr>
<td class="text-right">
<t t-esc="item"/>
</td>
<td class="text-right">
<t t-esc="item_value"/>
</td>
</tr>
</t>
</table>
</div>

你当然不需要 div 他们的要求。希望对你有帮助,

最佳,

关于python - [Odoo][Qweb]字典foreach,打印键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34122439/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com