Index: django/conf/global_settings.py
===================================================================
--- django/conf/global_settings.py	(revision 4542)
+++ django/conf/global_settings.py	(working copy)
@@ -136,11 +136,15 @@
 # only parameter and returns a dictionary to add to the context.
 TEMPLATE_CONTEXT_PROCESSORS = (
     'django.core.context_processors.auth',
+    'django.core.context_processors.constants',
     'django.core.context_processors.debug',
     'django.core.context_processors.i18n',
-#    'django.core.context_processors.request',
+#    'django.core.context_processrs.request',
 )
 
+# Constants to add to all template contexts.
+TEMPLATE_CONTEXT_CONSTANTS = {}
+
 # Output to use in template system for invalid (e.g. misspelled) variables.
 TEMPLATE_STRING_IF_INVALID = ''
 
Index: django/conf/project_template/settings.py
===================================================================
--- django/conf/project_template/settings.py	(revision 4542)
+++ django/conf/project_template/settings.py	(working copy)
@@ -56,6 +56,10 @@
 #     'django.template.loaders.eggs.load_template_source',
 )
 
+# Constants to add to all template contexts (dependant on the context
+# processor 'django.core.context_processors.constants').
+TEMPLATE_CONTEXT_CONSTANTS = {'media_url': MEDIA_URL}
+
 MIDDLEWARE_CLASSES = (
     'django.middleware.common.CommonMiddleware',
     'django.contrib.sessions.middleware.SessionMiddleware',
Index: django/core/context_processors.py
===================================================================
--- django/core/context_processors.py	(revision 4542)
+++ django/core/context_processors.py	(working copy)
@@ -20,6 +20,9 @@
         'perms': PermWrapper(request.user),
     }
 
+def constants(request):
+    return settings.TEMPLATE_CONTEXT_CONSTANTS
+
 def debug(request):
     "Returns context variables helpful for debugging."
     context_extras = {}
Index: docs/settings.txt
===================================================================
--- docs/settings.txt	(revision 4542)
+++ docs/settings.txt	(working copy)
@@ -717,6 +717,7 @@
 Default::
 
     ("django.core.context_processors.auth",
+    "django.core.context_processors.constants",
     "django.core.context_processors.debug",
     "django.core.context_processors.i18n")
 
Index: docs/templates_python.txt
===================================================================
--- docs/templates_python.txt	(revision 4542)
+++ docs/templates_python.txt	(working copy)
@@ -290,6 +290,7 @@
 ``TEMPLATE_CONTEXT_PROCESSORS`` is set to::
 
     ("django.core.context_processors.auth",
+    "django.core.context_processors.constants",
     "django.core.context_processors.debug",
     "django.core.context_processors.i18n")
 
@@ -371,6 +372,13 @@
       representing every SQL query that has happened so far during the request
       and how long it took. The list is in order by query.
 
+django.core.context_processors.constants
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+If ``TEMPLATE_CONTEXT_PROCESSORS`` contains this processor, every
+``Context`` will contain variables defined in the ``TEMPLATE_CONTEXT_CONSTANTS``
+setting.
+
 django.core.context_processors.i18n
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
