2012-08-03 26 views

回答

3

你可以寫一個custom template filter

from django import template 

register = template.Library() 

@register.filter 
def get_key(value, arg): 
    return value.get(arg, None) 

且模板中

{{ my_dict|get_key:"dotted.key.value" }} 
2

一個可能的解決方案是創建一個模板標記,其中字典作爲變量,鍵作爲參數。請記住模擬Django對失敗的屬性查找的默認行爲,這不應該引發錯誤,因此請返回空字符串。

{{ dict_name|get_value:"keyname.with.manydots" }} 

@register.filter 
def get_value(dict_name, key_name): 
    return dict_name.get(key_name, '') 
相關問題