From 3550aa2d14998b079b250f650832919d57113f1b Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Tue, 24 Feb 2009 17:05:36 +0000 Subject: [PATCH] [1.0.X] Fixed ##9842: allow imports of apps that use settings in __init__.py files. Backport of r9843 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@9901 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/core/management/__init__.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/django/core/management/__init__.py b/django/core/management/__init__.py index 8076163df5..593e678008 100644 --- a/django/core/management/__init__.py +++ b/django/core/management/__init__.py @@ -319,15 +319,18 @@ def setup_environ(settings_mod, original_settings_path=None): if settings_name.endswith("$py"): settings_name = settings_name[:-3] - sys.path.append(os.path.join(project_directory, os.pardir)) - project_module = __import__(project_name, {}, {}, ['']) - sys.path.pop() - # Set DJANGO_SETTINGS_MODULE appropriately. if original_settings_path: os.environ['DJANGO_SETTINGS_MODULE'] = original_settings_path else: os.environ['DJANGO_SETTINGS_MODULE'] = '%s.%s' % (project_name, settings_name) + + # Import the project module. We add the parent directory to PYTHONPATH to + # avoid some of the path errors new users can have. + sys.path.append(os.path.join(project_directory, os.pardir)) + project_module = __import__(project_name, {}, {}, ['']) + sys.path.pop() + return project_directory def execute_from_command_line(argv=None):