Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

[1.1.X] Expanded the fix in [12663] to cover CSS declarations, which …

…were also affected by the bug. Refs #12879. Backport of [12665] from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.1.X@12666 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit faa341e61bd01fff44b3537545c3678a5f0bf48c 1 parent 1d12aa2
James Bennett ubernostrum authored
Showing with 8 additions and 4 deletions.
  1. +3 −1 django/forms/widgets.py
  2. +5 −3 tests/regressiontests/forms/media.py
4 django/forms/widgets.py
View
@@ -87,7 +87,9 @@ def add_js(self, data):
def add_css(self, data):
if data:
for medium, paths in data.items():
- self._css.setdefault(medium, []).extend([path for path in paths if path not in self._css[medium]])
+ for path in paths:
+ if not self._css.get(medium) or path not in self._css[medium]:
+ self._css.setdefault(medium, []).append(path)
def __add__(self, other):
combined = Media()
8 tests/regressiontests/forms/media.py
View
@@ -112,15 +112,17 @@
<script type="text/javascript" src="http://media.other.com/path/to/js2"></script>
<script type="text/javascript" src="https://secure.other.com/path/to/js3"></script>
-# Regression check for #12879: specifying the same JS file multiple
-# times in a single Media instance should result in that file only
-# being included once.
+# Regression check for #12879: specifying the same CSS or JS file
+# multiple times in a single Media instance should result in that file
+# only being included once.
>>> class MyWidget4(TextInput):
... class Media:
+... css = {'all': ('/path/to/css1', '/path/to/css1')}
... js = ('/path/to/js1', '/path/to/js1')
>>> w4 = MyWidget4()
>>> print w4.media
+<link href="/path/to/css1" type="text/css" media="all" rel="stylesheet" />
<script type="text/javascript" src="/path/to/js1"></script>
Please sign in to comment.
Something went wrong with that request. Please try again.