aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Gaynor2008-09-21 12:19:30 -0400
committerAlex Gaynor2008-09-21 12:19:30 -0400
commit9a7fe9e528c72d39efb1954275e1e588b2bb541c (patch)
treeb9147cf57cd035359721474e101ab573a8f0ad9e
parent54c81b918db04b62a55f810d891de9dd71b57ab9 (diff)
downloaddjango-debug-toolbar-9a7fe9e528c72d39efb1954275e1e588b2bb541c.tar.bz2
made jquery really optional, also switched to using google to serve jquery
-rw-r--r--debug_toolbar/middleware.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/debug_toolbar/middleware.py b/debug_toolbar/middleware.py
index bb8dbbc..c17c424 100644
--- a/debug_toolbar/middleware.py
+++ b/debug_toolbar/middleware.py
@@ -12,7 +12,16 @@ _HTML_TYPES = ('text/html', 'application/xhtml+xml')
_END_HEAD_RE = re.compile(r'</head>', re.IGNORECASE)
_START_BODY_RE = re.compile(r'<body([^<]*)>', re.IGNORECASE)
_END_BODY_RE = re.compile(r'</body>', re.IGNORECASE)
-_CONTAINS_JQUERY_RE = re.compile("src=(?:(\"(.*?)jquery(.*?)\.js\")|('(.*?)jquery(.*?)\.js'))", re.IGNORECASE)
+
+
+_JQUERY_OPTIONAL = """
+<script type="text/javascript">
+if (typeof jQuery == "undefined") {
+ url = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js'
+ document.write(unescape("%3Cscript src='" + url + "' type='text/javascript'%3E%3C/script%3E"));
+}
+</script>
+"""
class DebugToolbarMiddleware(object):
"""
@@ -58,7 +67,6 @@ class DebugToolbarMiddleware(object):
# Saving this here in case we ever need to inject into <head>
#response.content = _END_HEAD_RE.sub(smart_str(self.debug_toolbar.render_styles() + "%s" % match.group()), response.content)
response.content = _START_BODY_RE.sub(smart_str('<body\\1>' + self.debug_toolbar.render_toolbar()), response.content)
- if not _CONTAINS_JQUERY_RE.search(response.content):
- response.content = _END_BODY_RE.sub(smart_str('<script src="%s/__debug__/m/jquery.js" type="text/javascript" charset="utf-8"></script></body>' % script_loc), response.content)
+ response.content = _END_BODY_RE.sub(smart_str('%s</body>' % _JQUERY_OPTIONAL), response.content)
response.content = _END_BODY_RE.sub(smart_str('<script src="%s/__debug__/m/toolbar.js" type="text/javascript" charset="utf-8"></script></body>' % script_loc), response.content)
return response