我们说我有两个字典列表如下:
FeeDict = [{u'100': u'Booking Fee'}, {u'101': u'Penalty Fee'}]
ChargeObj = ([{'ChargeAmount': 50.0, 'KeyCharge': u'101'}, {'ChargeAmount': 150.0, 'KeyCharge': u'100'}], [{'PromotionAmount': 0.0, 'KeyCharge': u'101'}, {'PromotionAmount': 0.0, 'KeyCharge': u'100'}], [{'TotalCharge': 200.0, 'TotalPromotion': 0.0}])
我试图获取两个变量的关键值并按如下方式排列:
预订费:150.0
罚款:50.0
所以我在jinja2
尝试了我的代码:
<table>
{% for row in ChargeObj %}
{% set key = row[0]['KeyCharge']|string %} <!-- 100 or 101 -->
{% set desc = FeeDict[0][key] %} <!-- Booking Fee or Penalty Fee -->
{% set amt = row[0]['ChargeAmount'] %}
<tr>
<td>{{desc}}</td>
<td>{{amt}}</td>
</tr>
{% endfor %}
</table>
问题是FeeDict[0][key]
没有像我预期的那样返回一个值。但是,如果我将固定key
分配给FeeDict[0]['100']
,但为什么key
来自FeeDict
,它会返回值?
我认为可能key
需要string
而不是number
所以我尝试了row[0]['KeyCharge']|string
但仍然没有帮助。
这有什么不对?我该如何解决? 感谢