File tree Expand file tree Collapse file tree 3 files changed +27
-2
lines changed Expand file tree Collapse file tree 3 files changed +27
-2
lines changed Original file line number Diff line number Diff line change @@ -62,6 +62,11 @@ class Select2Conf(AppConf):
6262
6363 SELECT2_JS = 'assets/js/select2.min.js'
6464
65+ If you provide your own JS and would not like Django-Select2 to load any, change
66+ this setting to a blank string like so::
67+
68+ SELECT2_JS = ''
69+
6570 .. tip:: Change this setting to a local asset in your development environment to
6671 develop without an Internet connection.
6772 """
@@ -75,6 +80,11 @@ class Select2Conf(AppConf):
7580
7681 SELECT2_CSS = 'assets/css/select2.css'
7782
83+ If you provide your own CSS and would not like Django-Select2 to load any, change
84+ this setting to a blank string like so::
85+
86+ SELECT2_CSS = ''
87+
7888 .. tip:: Change this setting to a local asset in your development environment to
7989 develop without an Internet connection.
8090 """
Original file line number Diff line number Diff line change @@ -100,6 +100,9 @@ def _get_media(self):
100100 """
101101 lang = get_language ()
102102 i18n_name = None
103+ select2_js = (settings .SELECT2_JS ,) if settings .SELECT2_JS else ()
104+ select2_css = (settings .SELECT2_CSS ,) if settings .SELECT2_CSS else ()
105+
103106 try :
104107 from django .contrib .admin .widgets import SELECT2_TRANSLATIONS
105108 i18n_name = SELECT2_TRANSLATIONS .get (lang )
@@ -116,8 +119,8 @@ def _get_media(self):
116119 i18n_file = ('%s/%s.js' % (settings .SELECT2_I18N_PATH , i18n_name ),) if i18n_name else ()
117120
118121 return forms .Media (
119- js = ( settings . SELECT2_JS ,) + i18n_file + ('django_select2/django_select2.js' ,),
120- css = {'screen' : ( settings . SELECT2_CSS ,) }
122+ js = select2_js + i18n_file + ('django_select2/django_select2.js' ,),
123+ css = {'screen' : select2_css }
121124 )
122125
123126 media = property (_get_media )
Original file line number Diff line number Diff line change @@ -161,12 +161,24 @@ def test_js_setting(self, settings):
161161 assert 'alternate.js' in result
162162 assert 'django_select2/django_select2.js' in result
163163
164+ def test_empty_js_setting (self , settings ):
165+ settings .SELECT2_JS = ''
166+ sut = Select2Widget ()
167+ result = sut .media .render ()
168+ assert 'django_select2/django_select2.js' in result
169+
164170 def test_css_setting (self , settings ):
165171 settings .SELECT2_CSS = 'alternate.css'
166172 sut = Select2Widget ()
167173 result = sut .media .render ()
168174 assert 'alternate.css' in result
169175
176+ def test_empty_css_setting (self , settings ):
177+ settings .SELECT2_CSS = ''
178+ sut = Select2Widget ()
179+ result = sut .media .render ()
180+ assert '.css' not in result
181+
170182
171183class TestHeavySelect2Mixin (TestSelect2Mixin ):
172184 url = reverse ('heavy_select2_widget' )
You can’t perform that action at this time.
0 commit comments