我試圖以這種方式在 Django 模板中組裝一個變數:應該
obj.length.forloop.counter在哪里foorloop.counter回傳數字。
例如obj.length.1然后obj.length.2等等...
我嘗試了添加過濾器:
obj.length|add:forloop.counter但根本沒有回傳任何內容。
有什么方法可以在 django 模板語言中組裝變數名嗎?
uj5u.com熱心網友回復:
您可以注冊一個自定義過濾器(參見檔案)來實作您想要的:
@register.filter()
def get(obj, attr):
if hasattr(obj, attr):
return getattr(obj, attr)
return obj[attr]
然后你可以在你的模板中使用它:
{{ obj.length|get:forloop.counter }}
話雖這么說,我想知道您是否不能直接迭代obj或obj.length自身。你確定你不能在你的模板中做這樣的事情嗎?那會干凈得多。
{% for item in obj %}
{% comment %}Do something with item{% endcomment %}
{% endfor %}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/456479.html
上一篇:使用R測量變數中水平之間的一致性
