diff --git a/django/forms/widgets.py b/django/forms/widgets.py
index e25f619c3c..6768984eca 100644
--- a/django/forms/widgets.py
+++ b/django/forms/widgets.py
@@ -75,7 +75,7 @@ class Media(StrAndUnicode):
def __getitem__(self, name):
"Returns a Media object that only contains media of the given type"
if name in MEDIA_TYPES:
- return Media(**{name: getattr(self, '_' + name)})
+ return Media(**{str(name): getattr(self, '_' + name)})
raise KeyError('Unknown media type "%s"' % name)
def add_js(self, data):
diff --git a/tests/regressiontests/forms/media.py b/tests/regressiontests/forms/media.py
index d05db1f164..fc1b412bcf 100644
--- a/tests/regressiontests/forms/media.py
+++ b/tests/regressiontests/forms/media.py
@@ -355,5 +355,17 @@ media_tests = r"""
+# Media works in templates
+>>> from django.template import Template, Context
+>>> Template("{{ form.media.js }}{{ form.media.css }}").render(Context({'form': f3}))
+u'
+
+
+
+
+
+
+'
+
>>> settings.MEDIA_URL = ORIGINAL_MEDIA_URL
-"""
\ No newline at end of file
+"""