[英]Django template - iterate a list of tuples, each tuple is a string, dictionary
我有一本字典,它已經變成了一個排序列表,它創建了以下內容:
monthly_spend_provider = sorted(monthly_spend_provider.items(), key=lambda item: item[1]['cost'], reverse=True)
monthly_spend_provider
[
('PROVIDER A', {'cost': Decimal('10000'), 'symbol': '£'}),
('PROVIDER B', {'cost': Decimal('9000'), 'symbol': '$'}),
('PROVIDER C', {'cost': Decimal('8000'), 'symbol': '$'}),
('PROVIDER D', {'cost': Decimal('7000'), 'symbol': '£'}),
]
現在我試圖訪問 Django 模板中元組中的數據,但沒有成功。
我認為下面會起作用,但它沒有
{% for provider in monthly_provider_country %}
{% for data in provider %}
<h3>{{ provider }} {{ data.symbol }} {{ data.cost|currency }}</h3>
{% endfor %}
{% endfor %}
我可以在模板中執行此操作還是有辦法將排序列表轉換回更簡單的格式以輸出到模板中?
編輯:原始字典
>>> monthly_spend_provider
{
'PROVIDER B': {
'cost': Decimal('9000'), 'symbol': '$'
},
'PROVIDER A': {
'cost': Decimal('10000'), 'symbol': '£'
},
'PROVIDER D': {
'cost': Decimal('8000'), 'symbol': '$'
},
'PROVIDER C': {
'cost': Decimal('7000'), 'symbol': '£'
}
}
謝謝
我相信你需要。
{% for provider, d in monthly_provider_country %}
<h3>{{ provider }} {{ d.symbol }} {{ d.cost|currency }}</h3>
{% endfor %}
我認為你必須寫你的<h3>
標簽如下...
<h3>{{ data.0 }} {{ data.1.symbol }} {{ data.1.cost|currency }}</h3>
試試這個:
{% for provider in monthly_provider_country %}
{% for data in provider %}
<h3>{{ data[0] }} {{ data[1].symbol }} {{ data[1].cost|currency }}</h3>
{% endfor %}
{% endfor %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.