1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | @register.filter
def get( dict, key, default = '' ):
"""
Usage:
view:
some_dict = {'keyA':'valueA','keyB':{'subKeyA':'subValueA','subKeyB':'subKeyB'},'keyC':'valueC'}
keys = ['keyA','keyC']
template:
{{ some_dict|get:"keyA" }}
{{ some_dict|get:"keyB"|get:"subKeyA" }}
{% for key in keys %}{{ some_dict|get:key }}{% endfor %}
"""
try:
return dict.get(key,default)
except:
return default
|
More like this
- Truncate filter by zalun 4 years ago
- Get boolean value from request send by Ajax by zalun 3 years, 10 months ago
- Verbose template filter : avoid too many if by Romain Hardouin 4 years, 11 months ago
- Template range filter by zalun 4 years, 2 months ago
- Quickly check templates while sketching them out by Amr Mostafa 6 years, 1 month ago
Comments
{{ some_dict.keyA }} isn simpler than {{ some_dict|get:"keyA" }}
??
#
Yes it's simpler. But it doesn't wrok when keyA is a variable.
#