From 98d919189d5b25057cb0cb7ee486a591a1f6cead Mon Sep 17 00:00:00 2001 From: Rob Hudson Date: Tue, 2 Feb 2010 10:47:16 -0800 Subject: Updated template source call to support Django 1.2 --- debug_toolbar/views.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'debug_toolbar/views.py') 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 -- cgit v1.2.3