diff --git a/django/contrib/admin/templatetags/admin_modify.py b/django/contrib/admin/templatetags/admin_modify.py
index fcb5876b0c4..e708b876bdf 100644
--- a/django/contrib/admin/templatetags/admin_modify.py
+++ b/django/contrib/admin/templatetags/admin_modify.py
@@ -11,6 +11,7 @@ import re
register = template.Library()
word_re = re.compile('[A-Z][a-z]+')
+absolute_url_re = re.compile(r'^(?:http(?:s)?:/)?/', re.IGNORECASE)
def class_name_to_underscored(name):
return '_'.join([s.lower() for s in word_re.findall(name)[:-1]])
@@ -18,18 +19,19 @@ def class_name_to_underscored(name):
def include_admin_script(script_path):
"""
Returns an HTML script element for including a script from the admin
- media url.
+ media url (or other location if an absolute url is given).
Example usage::
- {% include_admin_script js/calendar.js %}
+ {% include_admin_script "js/calendar.js" %}
could return::
' % (settings.ADMIN_MEDIA_PREFIX, script_path)
+ if not absolute_url_re.match(script_path):
+ script_path = '%s%s' % (settings.ADMIN_MEDIA_PREFIX, script_path)
+ return '' % script_path
include_admin_script = register.simple_tag(include_admin_script)
def submit_row(context):
diff --git a/docs/model-api.txt b/docs/model-api.txt
index 1e7f69903dc..e66e96de686 100644
--- a/docs/model-api.txt
+++ b/docs/model-api.txt
@@ -1216,6 +1216,9 @@ screen via ``