diff --git a/django/conf/__init__.py b/django/conf/__init__.py index 785302c6fd..c980ee0b28 100644 --- a/django/conf/__init__.py +++ b/django/conf/__init__.py @@ -7,6 +7,7 @@ a list of all possible variables. """ import os +import re import time # Needed for Windows from django.conf import global_settings @@ -91,8 +92,9 @@ class Settings(object): appdir = os.path.dirname(__import__(app[:-2], {}, {}, ['']).__file__) app_subdirs = os.listdir(appdir) app_subdirs.sort() + name_pattern = re.compile(r'[a-zA-Z]\w*') for d in app_subdirs: - if d.isalnum() and d[0].isalpha() and os.path.isdir(os.path.join(appdir, d)): + if name_pattern.match(d) and os.path.isdir(os.path.join(appdir, d)): new_installed_apps.append('%s.%s' % (app[:-2], d)) else: new_installed_apps.append(app) diff --git a/tests/regressiontests/app_loading/parent/__init__.py b/tests/regressiontests/app_loading/parent/__init__.py index 51c842b5ba..e69de29bb2 100644 --- a/tests/regressiontests/app_loading/parent/__init__.py +++ b/tests/regressiontests/app_loading/parent/__init__.py @@ -1 +0,0 @@ -# not empty to make SVN happy diff --git a/tests/regressiontests/app_loading/parent/app/__init__.py b/tests/regressiontests/app_loading/parent/app/__init__.py index 51c842b5ba..e69de29bb2 100644 --- a/tests/regressiontests/app_loading/parent/app/__init__.py +++ b/tests/regressiontests/app_loading/parent/app/__init__.py @@ -1 +0,0 @@ -# not empty to make SVN happy diff --git a/tests/regressiontests/app_loading/parent/app1/__init__.py b/tests/regressiontests/app_loading/parent/app1/__init__.py index 51c842b5ba..e69de29bb2 100644 --- a/tests/regressiontests/app_loading/parent/app1/__init__.py +++ b/tests/regressiontests/app_loading/parent/app1/__init__.py @@ -1 +0,0 @@ -# not empty to make SVN happy diff --git a/tests/regressiontests/app_loading/parent/app_2/__init__.py b/tests/regressiontests/app_loading/parent/app_2/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/regressiontests/app_loading/tests.py b/tests/regressiontests/app_loading/tests.py index 444de10d79..bc958c0d88 100644 --- a/tests/regressiontests/app_loading/tests.py +++ b/tests/regressiontests/app_loading/tests.py @@ -14,7 +14,7 @@ Test the globbing of INSTALLED_APPS. >>> settings = Settings('test_settings') >>> settings.INSTALLED_APPS -['parent.app', 'parent.app1'] +['parent.app', 'parent.app1', 'parent.app_2'] >>> sys.path = old_sys_path