11from django import forms
2+ from django .forms import Media
23try :
34 from django .utils .translation import ugettext_lazy as _ # until django 3.2
45except ImportError :
56 from django .utils .translation import gettext_lazy as _ # from django 4
67
78
9+
10+ NUMERIC_FILTER_CSS = 'css/admin-numeric-filter.css'
11+
12+
813class SingleNumericForm (forms .Form ):
914 def __init__ (self , * args , ** kwargs ):
1015 name = kwargs .pop ('name' )
1116 super ().__init__ (* args , ** kwargs )
1217
13- self .fields [name ] = forms .FloatField (label = '' , required = False ,
14- widget = forms .NumberInput (attrs = {'placeholder' : _ ('Value' )}))
18+ self .fields [name ] = forms .FloatField (label = '' , required = False ,
19+ widget = forms .NumberInput (attrs = {'placeholder' : _ ('Value' )}))
1520
16- class Media :
17- css = {
18- 'all' : (
19- 'css/admin-numeric-filter.css' ,
20- )
21- }
21+ @property
22+ def media (self ):
23+ return super ().media + Media (css = [self .NUMERIC_FILTER_CSS ])
2224
2325
2426class RangeNumericForm (forms .Form ):
@@ -28,17 +30,14 @@ def __init__(self, *args, **kwargs):
2830 self .name = kwargs .pop ('name' )
2931 super ().__init__ (* args , ** kwargs )
3032
31- self .fields [self .name + '_from' ] = forms .FloatField (label = '' , required = False ,
33+ self .fields [self .name + '_from' ] = forms .FloatField (label = '' , required = False ,
3234 widget = forms .NumberInput (attrs = {'placeholder' : _ ('From' )}))
33- self .fields [self .name + '_to' ] = forms .FloatField (label = '' , required = False ,
35+ self .fields [self .name + '_to' ] = forms .FloatField (label = '' , required = False ,
3436 widget = forms .NumberInput (attrs = {'placeholder' : _ ('To' )}))
3537
36- class Media :
37- css = {
38- 'all' : (
39- 'css/admin-numeric-filter.css' ,
40- )
41- }
38+ @property
39+ def media (self ):
40+ return super ().media + Media (css = [self .NUMERIC_FILTER_CSS ])
4241
4342
4443class SliderNumericForm (RangeNumericForm ):
0 commit comments