From cc3635d62fa414ea7e4a263f0ae8e141b62fa8b6 Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Thu, 20 Oct 2005 23:16:45 +0000 Subject: [PATCH] Fixed #663 -- app_directories template loader no longer assumes a dot in the app name. Thanks, Sune git-svn-id: http://code.djangoproject.com/svn/django/trunk@985 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/template/loaders/app_directories.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/django/core/template/loaders/app_directories.py b/django/core/template/loaders/app_directories.py index 5afb18e2f5..b8bd0d6169 100644 --- a/django/core/template/loaders/app_directories.py +++ b/django/core/template/loaders/app_directories.py @@ -1,6 +1,7 @@ # Wrapper for loading templates from "template" directories in installed app packages. from django.conf.settings import INSTALLED_APPS, TEMPLATE_FILE_EXTENSION +from django.core.exceptions import ImproperlyConfigured from django.core.template import TemplateDoesNotExist import os @@ -8,8 +9,17 @@ import os app_template_dirs = [] for app in INSTALLED_APPS: i = app.rfind('.') - m, a = app[:i], app[i+1:] - mod = getattr(__import__(m, '', '', [a]), a) + if i == -1: + m, a = app, None + else: + m, a = app[:i], app[i+1:] + try: + if a is None: + mod = __import__(m, '', '', []) + else: + mod = getattr(__import__(m, '', '', [a]), a) + except ImportError, e: + raise ImproperlyConfigured, 'ImportError %s: %s' % (app, e.args[0]) template_dir = os.path.join(os.path.dirname(mod.__file__), 'templates') if os.path.isdir(template_dir): app_template_dirs.append(template_dir)