Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #8238 -- If an invalid database backend is mentioned in setting…

…s 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
  • Loading branch information...
commit 98be84154942789e498d8717c8d25f378ca456b1 1 parent a80a5ae
@malcolmt malcolmt authored
Showing with 4 additions and 1 deletion.
  1. +4 −1 django/db/__init__.py
View
5 django/db/__init__.py
@@ -24,7 +24,10 @@
# 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" % \
Please sign in to comment.
Something went wrong with that request. Please try again.