Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Added a get_template_sources generator function to filesystem and app…

…_directories template loaders, so template-loader debugger can hook into it. Refs #892.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1399 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 22746d32a50792247330ea026e0d0ac2a0c2f933 1 parent c616d86
Adrian Holovaty adrianholovaty authored
2  django/core/template/loader.py
View
@@ -59,7 +59,7 @@ def make_origin(display_name, loader, name, dirs):
def find_template_source(name, dirs=None):
for loader in template_source_loaders:
try:
- source, display_name = loader(name, dirs)
+ source, display_name = loader(name, dirs)
return (source, make_origin(display_name, loader, name, dirs))
except TemplateDoesNotExist:
pass
7 django/core/template/loaders/app_directories.py
View
@@ -27,9 +27,12 @@
# It won't change, so convert it to a tuple to save memory.
app_template_dirs = tuple(app_template_dirs)
-def load_template_source(template_name, template_dirs=None):
+def get_template_sources(template_name, template_dirs=None):
for template_dir in app_template_dirs:
- filepath = os.path.join(template_dir, template_name) + TEMPLATE_FILE_EXTENSION
+ yield os.path.join(template_dir, template_name) + TEMPLATE_FILE_EXTENSION
+
+def load_template_source(template_name, template_dirs=None):
+ for filepath in get_template_sources(template_name, template_dirs):
try:
return (open(filepath).read(), filepath)
except IOError:
9 django/core/template/loaders/filesystem.py
View
@@ -4,12 +4,15 @@
from django.core.template import TemplateDoesNotExist
import os
-def load_template_source(template_name, template_dirs=None):
+def get_template_sources(template_name, template_dirs=None):
if not template_dirs:
template_dirs = TEMPLATE_DIRS
- tried = []
for template_dir in template_dirs:
- filepath = os.path.join(template_dir, template_name) + TEMPLATE_FILE_EXTENSION
+ yield os.path.join(template_dir, template_name) + TEMPLATE_FILE_EXTENSION
+
+def load_template_source(template_name, template_dirs=None):
+ tried = []
+ for filepath in get_template_sources(template_name, template_dirs):
try:
return (open(filepath).read(), filepath)
except IOError:
Please sign in to comment.
Something went wrong with that request. Please try again.