From 9fd9f8bbb23407254aa0ba851dbcc8e7f696c3de Mon Sep 17 00:00:00 2001 From: safu9 Date: Tue, 3 Apr 2018 12:06:08 +0900 Subject: Fixed #29284 -- Made ImageField render with accept="image/*"' HTML attribute. --- django/forms/fields.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'django/forms') diff --git a/django/forms/fields.py b/django/forms/fields.py index ad94ea4740..370f78e8b5 100644 --- a/django/forms/fields.py +++ b/django/forms/fields.py @@ -20,7 +20,7 @@ from django.forms.boundfield import BoundField from django.forms.utils import from_current_timezone, to_current_timezone from django.forms.widgets import ( FILE_INPUT_CONTRADICTION, CheckboxInput, ClearableFileInput, DateInput, - DateTimeInput, EmailInput, HiddenInput, MultipleHiddenInput, + DateTimeInput, EmailInput, FileInput, HiddenInput, MultipleHiddenInput, NullBooleanSelect, NumberInput, Select, SelectMultiple, SplitDateTimeWidget, SplitHiddenDateTimeWidget, TextInput, TimeInput, URLInput, @@ -646,6 +646,12 @@ class ImageField(FileField): f.seek(0) return f + def widget_attrs(self, widget): + attrs = super().widget_attrs(widget) + if isinstance(widget, FileInput) and 'accept' not in widget.attrs: + attrs.setdefault('accept', 'image/*') + return attrs + class URLField(CharField): widget = URLInput -- cgit v1.3