summaryrefslogtreecommitdiff
path: root/django/core/template_file.py
blob: 25862da55a20048e2dec10dae275512c6ada9000 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
"Wrapper for loading templates from files"
from django.conf.settings import TEMPLATE_DIRS
from template import TemplateDoesNotExist
import os

TEMPLATE_FILE_EXTENSION = '.html'

def load_template_source(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
        try:
            return open(filepath).read()
        except IOError:
            tried.append(filepath)
    if template_dirs:
        error_msg = "Tried %s" % tried
    else:
        error_msg = "Your TEMPLATE_DIRS settings is empty. Change it to point to at least one template directory."
    raise TemplateDoesNotExist, error_msg