Loading django/template/defaultfilters.py +1 −1 Original line number Diff line number Diff line Loading @@ -578,7 +578,7 @@ def length(value): try: return len(value) except (ValueError, TypeError): return '' return 0 @register.filter(is_safe=False) Loading docs/ref/templates/builtins.txt +5 −0 Original line number Diff line number Diff line Loading @@ -1688,6 +1688,11 @@ For example:: If ``value`` is ``['a', 'b', 'c', 'd']`` or ``"abcd"``, the output will be ``4``. .. versionchanged:: 1.8 The filter returns ``0`` for an undefined variable. Previously, it returned an empty string. .. templatefilter:: length_is length_is Loading docs/releases/1.8.txt +3 −0 Original line number Diff line number Diff line Loading @@ -267,6 +267,9 @@ Miscellaneous * ``django.contrib.gis`` dropped support for GEOS 3.1 and GDAL 1.6. * The :tfilter:`length` template filter now returns ``0`` for an undefined variable, rather than an empty string. .. _deprecated-features-1.8: Features deprecated in 1.8 Loading tests/template_tests/filters.py +2 −2 Original line number Diff line number Diff line Loading @@ -322,8 +322,8 @@ def get_filter_tests(): 'length04': ('{{ string|length }}', {'string': 'django'}, '6'), 'length05': ('{% if string|length == 6 %}Pass{% endif %}', {'string': mark_safe('django')}, 'Pass'), # Invalid uses that should fail silently. 'length06': ('{{ int|length }}', {'int': 7}, ''), 'length07': ('{{ None|length }}', {'None': None}, ''), 'length06': ('{{ int|length }}', {'int': 7}, '0'), 'length07': ('{{ None|length }}', {'None': None}, '0'), # length_is filter. 'length_is01': ('{% if some_list|length_is:"4" %}Four{% endif %}', {'some_list': ['4', None, True, {}]}, 'Four'), Loading Loading
django/template/defaultfilters.py +1 −1 Original line number Diff line number Diff line Loading @@ -578,7 +578,7 @@ def length(value): try: return len(value) except (ValueError, TypeError): return '' return 0 @register.filter(is_safe=False) Loading
docs/ref/templates/builtins.txt +5 −0 Original line number Diff line number Diff line Loading @@ -1688,6 +1688,11 @@ For example:: If ``value`` is ``['a', 'b', 'c', 'd']`` or ``"abcd"``, the output will be ``4``. .. versionchanged:: 1.8 The filter returns ``0`` for an undefined variable. Previously, it returned an empty string. .. templatefilter:: length_is length_is Loading
docs/releases/1.8.txt +3 −0 Original line number Diff line number Diff line Loading @@ -267,6 +267,9 @@ Miscellaneous * ``django.contrib.gis`` dropped support for GEOS 3.1 and GDAL 1.6. * The :tfilter:`length` template filter now returns ``0`` for an undefined variable, rather than an empty string. .. _deprecated-features-1.8: Features deprecated in 1.8 Loading
tests/template_tests/filters.py +2 −2 Original line number Diff line number Diff line Loading @@ -322,8 +322,8 @@ def get_filter_tests(): 'length04': ('{{ string|length }}', {'string': 'django'}, '6'), 'length05': ('{% if string|length == 6 %}Pass{% endif %}', {'string': mark_safe('django')}, 'Pass'), # Invalid uses that should fail silently. 'length06': ('{{ int|length }}', {'int': 7}, ''), 'length07': ('{{ None|length }}', {'None': None}, ''), 'length06': ('{{ int|length }}', {'int': 7}, '0'), 'length07': ('{{ None|length }}', {'None': None}, '0'), # length_is filter. 'length_is01': ('{% if some_list|length_is:"4" %}Four{% endif %}', {'some_list': ['4', None, True, {}]}, 'Four'), Loading