diff options
| author | Nick Pope <nick@nickpope.me.uk> | 2021-04-22 16:55:59 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2022-07-23 12:36:21 +0200 |
| commit | 4d4bf55e0ea849476f7e3abfeb018c338f18a9b4 (patch) | |
| tree | 3eef7f8e90252c2f4f2c7ca9a07992af005e1744 /django | |
| parent | 2fac0a18081dcc77fc860c801e5d727dc90435b3 (diff) | |
Fixed #33864 -- Deprecated length_is template filter.
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/admin/templates/admin/includes/fieldset.html | 8 | ||||
| -rw-r--r-- | django/template/defaultfilters.py | 7 |
2 files changed, 11 insertions, 4 deletions
diff --git a/django/contrib/admin/templates/admin/includes/fieldset.html b/django/contrib/admin/templates/admin/includes/fieldset.html index 8207d47ec4..ba260a36ce 100644 --- a/django/contrib/admin/templates/admin/includes/fieldset.html +++ b/django/contrib/admin/templates/admin/includes/fieldset.html @@ -4,11 +4,11 @@ <div class="description">{{ fieldset.description|safe }}</div> {% endif %} {% for line in fieldset %} - <div class="form-row{% if line.fields|length_is:'1' and line.errors %} errors{% endif %}{% if not line.has_visible_field %} hidden{% endif %}{% for field in line %}{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% endfor %}"> - {% if line.fields|length_is:'1' %}{{ line.errors }}{% endif %} + <div class="form-row{% if line.fields|length == 1 and line.errors %} errors{% endif %}{% if not line.has_visible_field %} hidden{% endif %}{% for field in line %}{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% endfor %}"> + {% if line.fields|length == 1 %}{{ line.errors }}{% endif %} {% for field in line %} - <div{% if not line.fields|length_is:'1' %} class="fieldBox{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% if not field.is_readonly and field.errors %} errors{% endif %}{% if field.field.is_hidden %} hidden{% endif %}"{% elif field.is_checkbox %} class="checkbox-row"{% endif %}> - {% if not line.fields|length_is:'1' and not field.is_readonly %}{{ field.errors }}{% endif %} + <div{% if not line.fields|length == 1 %} class="fieldBox{% if field.field.name %} field-{{ field.field.name }}{% endif %}{% if not field.is_readonly and field.errors %} errors{% endif %}{% if field.field.is_hidden %} hidden{% endif %}"{% elif field.is_checkbox %} class="checkbox-row"{% endif %}> + {% if not line.fields|length == 1 and not field.is_readonly %}{{ field.errors }}{% endif %} {% if field.is_checkbox %} {{ field.field }}{{ field.label_tag }} {% else %} diff --git a/django/template/defaultfilters.py b/django/template/defaultfilters.py index 46334791c6..7a5b28d159 100644 --- a/django/template/defaultfilters.py +++ b/django/template/defaultfilters.py @@ -2,6 +2,7 @@ import random as random_module import re import types +import warnings from decimal import ROUND_HALF_UP, Context, Decimal, InvalidOperation from functools import wraps from inspect import unwrap @@ -11,6 +12,7 @@ from urllib.parse import quote from django.utils import formats from django.utils.dateformat import format, time_format +from django.utils.deprecation import RemovedInDjango51Warning from django.utils.encoding import iri_to_uri from django.utils.html import avoid_wrapping, conditional_escape, escape, escapejs from django.utils.html import json_script as _json_script @@ -611,6 +613,11 @@ def length(value): @register.filter(is_safe=False) def length_is(value, arg): """Return a boolean of whether the value's length is the argument.""" + warnings.warn( + "The length_is template filter is deprecated in favor of the length template " + "filter and the == operator within an {% if %} tag.", + RemovedInDjango51Warning, + ) try: return len(value) == int(arg) except (ValueError, TypeError): |
