diff options
Diffstat (limited to 'django')
-rw-r--r-- | django/contrib/admin/templates/admin/widgets/clearable_file_input.html | 2 | ||||
-rw-r--r-- | django/forms/widgets.py | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/django/contrib/admin/templates/admin/widgets/clearable_file_input.html b/django/contrib/admin/templates/admin/widgets/clearable_file_input.html index fe71ebdb06..ab35253a0d 100644 --- a/django/contrib/admin/templates/admin/widgets/clearable_file_input.html +++ b/django/contrib/admin/templates/admin/widgets/clearable_file_input.html @@ -1,6 +1,6 @@ {% if widget.is_initial %}<p class="file-upload">{{ widget.initial_text }}: <a href="{{ widget.value.url }}">{{ widget.value }}</a>{% if not widget.required %} <span class="clearable-file-input"> -<input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}"{% if widget.attrs.disabled %} disabled{% endif %}> +<input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}"{% include "django/forms/widgets/attrs.html" %}> <label for="{{ widget.checkbox_id }}">{{ widget.clear_checkbox_label }}</label></span>{% endif %}<br> {{ widget.input_text }}:{% endif %} <input type="{{ widget.type }}" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}>{% if widget.is_initial %}</p>{% endif %} diff --git a/django/forms/widgets.py b/django/forms/widgets.py index 3d6091c250..b4a9583364 100644 --- a/django/forms/widgets.py +++ b/django/forms/widgets.py @@ -433,6 +433,7 @@ class ClearableFileInput(FileInput): initial_text = _("Currently") input_text = _("Change") template_name = "django/forms/widgets/clearable_file_input.html" + checked = False def clear_checkbox_name(self, name): """ @@ -475,10 +476,12 @@ class ClearableFileInput(FileInput): } ) context["widget"]["attrs"].setdefault("disabled", False) + context["widget"]["attrs"]["checked"] = self.checked return context def value_from_datadict(self, data, files, name): upload = super().value_from_datadict(data, files, name) + self.checked = self.clear_checkbox_name(name) in data if not self.is_required and CheckboxInput().value_from_datadict( data, files, self.clear_checkbox_name(name) ): |