summaryrefslogtreecommitdiff
path: root/django/core/management/commands
diff options
context:
space:
mode:
authorJacob Kaplan-Moss <jacob@jacobian.org>2009-03-18 16:55:59 +0000
committerJacob Kaplan-Moss <jacob@jacobian.org>2009-03-18 16:55:59 +0000
commitc485e236bd7e5ea40c64b2fe54d85dbb15b2fd39 (patch)
treefc5e86abf39b69181b2084f5c39038f1811b6b44 /django/core/management/commands
parentee2f04d79e5bca55637b9bb3301618738a4e342a (diff)
Fixed #8193: all dynamic imports in Django are now done correctly. I know this because Brett Cannon borrowed the time machine and brought Python 2.7's '`importlib` back for inclusion in Django. Thanks for the patch-from-the-future, Brett!
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10088 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/core/management/commands')
-rw-r--r--django/core/management/commands/flush.py3
-rw-r--r--django/core/management/commands/startapp.py3
-rw-r--r--django/core/management/commands/startproject.py3
-rw-r--r--django/core/management/commands/syncdb.py3
4 files changed, 8 insertions, 4 deletions
diff --git a/django/core/management/commands/flush.py b/django/core/management/commands/flush.py
index f0df69204b..5d8a36e7a2 100644
--- a/django/core/management/commands/flush.py
+++ b/django/core/management/commands/flush.py
@@ -1,5 +1,6 @@
from django.core.management.base import NoArgsCommand, CommandError
from django.core.management.color import no_style
+from django.utils.importlib import import_module
from optparse import make_option
class Command(NoArgsCommand):
@@ -23,7 +24,7 @@ class Command(NoArgsCommand):
# dispatcher events.
for app_name in settings.INSTALLED_APPS:
try:
- __import__(app_name + '.management', {}, {}, [''])
+ import_module('.management', app_name)
except ImportError:
pass
diff --git a/django/core/management/commands/startapp.py b/django/core/management/commands/startapp.py
index a81c427142..13d64834a6 100644
--- a/django/core/management/commands/startapp.py
+++ b/django/core/management/commands/startapp.py
@@ -1,6 +1,7 @@
import os
from django.core.management.base import copy_helper, CommandError, LabelCommand
+from django.utils.importlib import import_module
class Command(LabelCommand):
help = "Creates a Django app directory structure for the given app name in the current directory."
@@ -26,7 +27,7 @@ class Command(LabelCommand):
# Check that the app_name cannot be imported.
try:
- __import__(app_name)
+ import_module(app_name)
except ImportError:
pass
else:
diff --git a/django/core/management/commands/startproject.py b/django/core/management/commands/startproject.py
index 540a64d2ea..712e43da83 100644
--- a/django/core/management/commands/startproject.py
+++ b/django/core/management/commands/startproject.py
@@ -1,4 +1,5 @@
from django.core.management.base import copy_helper, CommandError, LabelCommand
+from django.utils.importlib import import_module
import os
import re
from random import choice
@@ -20,7 +21,7 @@ class Command(LabelCommand):
# Check that the project_name cannot be imported.
try:
- __import__(project_name)
+ import_module(project_name)
except ImportError:
pass
else:
diff --git a/django/core/management/commands/syncdb.py b/django/core/management/commands/syncdb.py
index dbef7a6a95..fe51d45bb3 100644
--- a/django/core/management/commands/syncdb.py
+++ b/django/core/management/commands/syncdb.py
@@ -1,5 +1,6 @@
from django.core.management.base import NoArgsCommand
from django.core.management.color import no_style
+from django.utils.importlib import import_module
from optparse import make_option
import sys
@@ -30,7 +31,7 @@ class Command(NoArgsCommand):
# dispatcher events.
for app_name in settings.INSTALLED_APPS:
try:
- __import__(app_name + '.management', {}, {}, [''])
+ import_module('.management', app_name)
except ImportError, exc:
# This is slightly hackish. We want to ignore ImportErrors
# if the "management" module itself is missing -- but we don't