動態成型可變我有一個項目像在Django模板
{'Switch_all': 'N/A', 'Router_down': 'N/A', 'Switch_down': 'N/A', 'Router_all': 'N/A'}
一本字典,我想通過使用密鑰前遍歷該字典中Django模板:Switch_all。
我能夠從字典中獲取數據,如果我給喜歡Switch_all
問題的關鍵是,我需要從另一個列表中動態地形成這個變量。對於實例列表將包含以下數據
['Swich','Router']
我不得不遍歷這個列表,並追加像_up,_down字符串形成新的變量,在字典中的關鍵之一。
現在我已經通過使用自定義模板過濾器嘗試,我還是發現難以傳遞兩個參數
,我包括在模板的代碼是
{{ value|dyndictval:header,"_up" }}
在上面的代碼值是dictionary和header是一個變量,它接受像Switch,Router這樣的參數,並且當附加第二個參數(這裏是'_up')時,它將在字典(值)中形成關鍵字。
定製過濾器代碼是
def dyndictval(d, key1):
keys = key1.split(',')
return d.get(keys[0]+keys[1],'')
我已通過使用與標籤使用創建一個單獨的變量,如下克服這一要求和所使用的相同的參數傳遞給自定義過濾器
{% with header|add:"_up" as templatevar %}>>>>{{templatevar}}<<<<
{{ value|dyndictval:templatevar }}
{% endwith %}
這種處理應該在視圖中完成;不是模板。 –
感謝您的評論。我試圖用自定義標籤做它仍然有一些問題。我有一個方法def dyndictval(d,key1): print'dyndictval調試<<<<<<<<<<<<<<<<<<<<<<<<<',key1 return d.get (key1,''),當我試圖調用{{value | dyndictval:header,「_ up」}}從模板失敗 – Balachandar