aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'debug_toolbar/views.py')
-rw-r--r--debug_toolbar/views.py21
1 files changed, 18 insertions, 3 deletions
diff --git a/debug_toolbar/views.py b/debug_toolbar/views.py
index 5bdf450..1b44ed1 100644
--- a/debug_toolbar/views.py
+++ b/debug_toolbar/views.py
@@ -1,9 +1,24 @@
+"""
+Helper views for the debug toolbar. These are dynamically installed when the
+debug toolbar is displayed, and typically can do Bad Things, so hooking up these
+views in any other way is generally not advised.
+"""
+
+import os
import simplejson
+import django.views.static
+from django.conf import settings
from django.db import connection
from django.shortcuts import render_to_response
-from debug_toolbar.panels.sql import reformat_sql
-def explain(request):
+def debug_media(request, path):
+ root = getattr(settings, 'DEBUG_TOOLBAR_MEDIA_ROOT', None)
+ if root is None:
+ parent = os.path.abspath(os.path.dirname(__file__))
+ root = os.path.join(parent, 'media')
+ return django.views.static.serve(request, path, root)
+
+def sql_explain(request):
"""
Returns the output of the SQL EXPLAIN on the given query.
@@ -12,6 +27,7 @@ def explain(request):
params: JSON encoded parameter values
time: time for SQL to execute passed in from toolbar just for redisplay
"""
+ from debug_toolbar.panels.sql import reformat_sql
sql = request.GET.get('sql', '')
if sql.lower().startswith('select'):
params = simplejson.loads(request.GET.get('params', ''))
@@ -27,4 +43,3 @@ def explain(request):
'headers': headers,
}
return render_to_response('debug_toolbar/panels/sql_explain.html', context)
- \ No newline at end of file