Fixed #8238 -- If an invalid database backend is mentioned in settings and the
environment doesn't support os.listdir(), we crashed whilst trying to construct the friendly error message. This was not so friendly. This patch handles that case (which occurs in real life in Google App Engine). Patch from Guido van Rossum. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8424 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
a80a5ae46f
commit
98be841549
|
@ -24,7 +24,10 @@ except ImportError, e:
|
|||
# The database backend wasn't found. Display a helpful error message
|
||||
# listing all possible (built-in) database backends.
|
||||
backend_dir = os.path.join(__path__[0], 'backends')
|
||||
available_backends = [f for f in os.listdir(backend_dir) if not f.startswith('_') and not f.startswith('.') and not f.endswith('.py') and not f.endswith('.pyc')]
|
||||
try:
|
||||
available_backends = [f for f in os.listdir(backend_dir) if not f.startswith('_') and not f.startswith('.') and not f.endswith('.py') and not f.endswith('.pyc')]
|
||||
except EnvironmentError:
|
||||
available_backends = []
|
||||
available_backends.sort()
|
||||
if settings.DATABASE_ENGINE not in available_backends:
|
||||
raise ImproperlyConfigured, "%r isn't an available database backend. Available options are: %s\nError was: %s" % \
|
||||
|
|
Loading…
Reference in New Issue