gpt4 book ai didi

Django 模板 : Dynamic template variable inside another variable

转载 作者:行者123 更新时间:2023-12-05 05:39:46 25 4
gpt4 key购买 nike

我希望这是有道理的……我正在构建一个加密 Assets 列表页面(简单);但是,在 {% for %} 循环中,我想在变量中包含一个变量。显示代码会更有意义:

Tempalte.html

{% for crypto_asset in objects__list_cryptoAssets %}
<tr role="row" class="body-row">
<td role="cell">{{ api_external_prices.bitcoin.usd }}</td>
</tr>
{% endfor %}

因此 {% for %} 循环获取所有加密 Assets ,然后我可以使用 Django 模板 {{ asset_class.slug }} 获取所有 slug...这里没有什么特别的。这个变量 {{ api_external_prices.bitcoin.usd }} 获取比特币的外部美元价格,{{ api_external_prices.bitcoin.eur }} 欧元价格,等等……这里也没有什么特别的。

这就是问题所在:想法是拥有类似{{ api_external_prices.{{ asset_class.slug }}.usd }}...这样每个加密货币都会有它的自己的价格 FX 正确获取。 变量内部是否可以有一个变量?

最佳答案

有几种实现方法:

模板过滤器

您可以创建一个模板过滤器 api_external_prices,它将 asset_class 和加密类型作为参数并返回值。

语法是链接这个,其中 api_external_prices 是模板过滤器的名称:

{{ asset_class|api_external_prices:"usd" }}

有关此功能的更多信息,请参阅此处:https://docs.djangoproject.com/en/4.0/howto/custom-template-tags/#writing-custom-template-filters

方法

另一种方法是将 api_external_prices 作为 asset_class 对象的方法,它返回一个具有 usd 属性的对象。 api_external_prices 在这里可以只是一个调用中央模块/函数的包装器,但这将使它更容易在模板中使用。

{{ asset_class.api_external_prices.usd }}

第一种方法与您所要求的类似,但我个人更愿意使用第二种方法,因为它可以避免您引入模板过滤器。

关于Django 模板 : Dynamic template variable inside another variable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72585990/

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