首页 > 解决方案 > 如何在 django 模板中查找字典值

问题描述

我有一本字典。

{21: [<Trade: SPY   190204C00271000>], 20: [<Trade: SPY   190201P00265000>]}

我写了一个过滤器来从 Django 模板中的 dict 中获取值。

from django import template
register = template.Library()

@register.filter
def tradeItem(inputs, i):
    return inputs.get(i)

在模板中:

{{ openTrades|tradeItem:trade.trade_number }}

现在我能够得到这个特定的交易。但我需要获得 trade.price 的价值。我怎么做?我试过了。

{{ openTrades.price|tradeItem:trade.trade_number }}
{{ (openTrades|tradeItem:trade.trade_number).price }}

标签: pythondjangopython-3.x

解决方案


只需扩展您的过滤器以获取价格属性而不是交易对象,例如

from django import template
register = template.Library()

@register.filter
def tradeItemPrice(trades, i):
    return trades.get(i).price

然后在模板中

{{ openTrades|tradeItemPrice:trade.trade_number }}

推荐阅读