templatetags: make |get return None on errors (#46507)
This commit is contained in:
parent
ca9907af49
commit
91e83958fa
|
@ -623,6 +623,11 @@ def test_get_filter():
|
|||
tmpl = Template('{{ foo|get:0 }}')
|
||||
assert tmpl.render({'foo': ['bar', 'baz']}) == 'bar'
|
||||
|
||||
tmpl = Template('{{ foo|get:0|default_if_none:"" }}')
|
||||
assert tmpl.render({'foo': ""}) == ''
|
||||
assert tmpl.render({'foo': None}) == ''
|
||||
assert tmpl.render({'foo': 23}) == ''
|
||||
|
||||
|
||||
def test_get_on_lazy_var():
|
||||
FormDef.wipe()
|
||||
|
|
|
@ -60,7 +60,10 @@ def get(mapping, key):
|
|||
key = int(key)
|
||||
except (TypeError, ValueError):
|
||||
pass
|
||||
return mapping[key]
|
||||
try:
|
||||
return mapping[key]
|
||||
except (TypeError, IndexError, KeyError):
|
||||
return None
|
||||
|
||||
|
||||
@register.filter
|
||||
|
|
Loading…
Reference in New Issue