Index: django/forms/widgets.py
===================================================================
--- django/forms/widgets.py (revision 11503)
+++ django/forms/widgets.py (working copy)
@@ -29,7 +29,7 @@
'SplitDateTimeWidget',
)
-MEDIA_TYPES = ('css','js')
+MEDIA_TYPES = ('css', 'js', 'raw_js')
class Media(StrAndUnicode):
def __init__(self, media=None, **kwargs):
@@ -40,6 +40,7 @@
self._css = {}
self._js = []
+ self._raw_js = []
for name in MEDIA_TYPES:
getattr(self, 'add_' + name)(media_attrs.get(name, None))
@@ -57,6 +58,12 @@
def render_js(self):
return [u'' % self.absolute_path(path) for path in self._js]
+ def render_raw_js(self):
+ if self._raw_js:
+ return [u'' % u'\n'.join(self._raw_js)]
+ else:
+ return []
+
def render_css(self):
# To keep rendering order consistent, we can't just iterate over items().
# We need to sort the keys, and iterate over the sorted list.
@@ -82,6 +89,10 @@
if data:
self._js.extend([path for path in data if path not in self._js])
+ def add_raw_js(self, data):
+ if data:
+ self._raw_js.extend([script for script in data if script and script not in self._raw_js])
+
def add_css(self, data):
if data:
for medium, paths in data.items():