diff options
Diffstat (limited to 'debug_toolbar/views.py')
| -rw-r--r-- | debug_toolbar/views.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/debug_toolbar/views.py b/debug_toolbar/views.py index 42d3f91..9828c44 100644 --- a/debug_toolbar/views.py +++ b/debug_toolbar/views.py @@ -146,14 +146,30 @@ def template_source(request): Return the source of a template, syntax-highlighted by Pygments if it's available. """ - from django.template.loader import find_template_source + from django.template import TemplateDoesNotExist from django.utils.safestring import mark_safe + from django.conf import settings template_name = request.GET.get('template', None) if template_name is None: return HttpResponseBadRequest('"template" key is required') - source, origin = find_template_source(template_name) + try: # Django 1.2 ... + from django.template.loader import find_template_loader, make_origin + loaders = [] + for loader_name in settings.TEMPLATE_LOADERS: + loader = find_template_loader(loader_name) + if loader is not None: + loaders.append(loader) + for loader in loaders: + try: + source, display_name = loader.load_template_source(template_name) + origin = make_origin(display_name, loader, template_name, settings.TEMPLATE_DIRS) + except TemplateDoesNotExist: + source = "Template Does Not Exist: %s" % (template_name,) + except ImportError: # Django 1.1 ... + from django.template.loader import find_template_source + source, origin = find_template_source(template_name) try: from pygments import highlight |
