File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change 22from django .db .models import Q
33from django import forms
44from django .utils .translation import gettext_lazy as _
5+ from django .forms .widgets import FileInput
56
67from sorl .thumbnail import default
78
@@ -68,3 +69,9 @@ def to_python(self, data):
6869 f .seek (0 )
6970
7071 return f
72+
73+ def widget_attrs (self , widget ):
74+ attrs = super ().widget_attrs (widget )
75+ if isinstance (widget , FileInput ) and 'accept' not in widget .attrs :
76+ attrs .setdefault ('accept' , 'image/*' )
77+ return attrs
Original file line number Diff line number Diff line change 1+ from django import forms
2+ from django .test import SimpleTestCase
3+ from django .forms .widgets import FileInput
4+
5+ from sorl .thumbnail .fields import ImageFormField
6+
7+
8+ class ImageFormFieldTest (SimpleTestCase ):
9+
10+ def assertWidgetRendersTo (self , field , to ):
11+ class Form (forms .Form ):
12+ f = field
13+ self .assertHTMLEqual (str (Form ()["f" ]), to )
14+
15+ def test_widget_attrs_default_accept (self ):
16+ f = ImageFormField ()
17+ self .assertEqual (f .widget_attrs (FileInput ()), {'accept' : 'image/*' })
18+ self .assertWidgetRendersTo (f , '<input type="file" name="f" accept="image/*" required id="id_f" />' )
You can’t perform that action at this time.
0 commit comments