我有一個在Django模板命名income
字典,我也有一個名爲我的模板factors
名單,我想是這樣的:如何訪問django模板中的字典元素?
{% for factor in factors%}
<div> {{ income[factor.id] }} </div>
{% endfor %}
但{{收入[factor.id]}}是錯誤的,我該如何做這樣的事情?
我有一個在Django模板命名income
字典,我也有一個名爲我的模板factors
名單,我想是這樣的:如何訪問django模板中的字典元素?
{% for factor in factors%}
<div> {{ income[factor.id] }} </div>
{% endfor %}
但{{收入[factor.id]}}是錯誤的,我該如何做這樣的事情?
你可以寫一個模板標籤,像這樣:
@register.filter
def get_value(d, key):
return d.get(key)
,並使用它,像這樣:
{{ income|get_value:factor.id }}
編輯:由@kbnk指出的,我錯了,這不工作。
如果你不希望創建一個過濾器,你可以嘗試以下方法:
{% for factor in factors %}
{% with factor_id=factor.id %}
<div> {{ income.factor_id] }} </div>
{% endwith %}
{% endfor %}
這工作,因爲你可以做Django模板字典型望風。檢查Django模板文檔的更多詳細信息:https://docs.djangoproject.com/en/dev/ref/templates/api/#variables-and-lookups
這將無法正常工作,因爲模板將採用字面字符串「factor_id」作爲字典鍵,而不是「factor_id」變量的值。 – knbk
@kbnk:我可以做任何事情來解決這個問題並使用這種方法嗎?我不想爲這個 – Navid777
@knbk創建一個過濾器啊你說得對,好電話 –