Improved error message when DATABASE_ENGINE is invalid. It now displays a list of all available database backends
git-svn-id: http://code.djangoproject.com/svn/django/trunk@215 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
258afd8fae
commit
5874952a8e
|
@ -18,8 +18,15 @@ from django.conf.settings import DATABASE_ENGINE
|
|||
try:
|
||||
dbmod = __import__('django.core.db.backends.%s' % DATABASE_ENGINE, '', '', [''])
|
||||
except ImportError:
|
||||
# The database backend wasn't found. Display a helpful error message
|
||||
# listing all possible database backends.
|
||||
from django.core.exceptions import ImproperlyConfigured
|
||||
raise ImproperlyConfigured, "Your DATABASE_ENGINE setting, %r, is invalid. Is it spelled correctly?" % DATABASE_ENGINE
|
||||
import os
|
||||
backend_dir = os.path.join(__path__[0], 'backends')
|
||||
available_backends = [f[:-3] for f in os.listdir(backend_dir) if f.endswith('.py') and not f.startswith('__init__')]
|
||||
available_backends.sort()
|
||||
raise ImproperlyConfigured, "Your DATABASE_ENGINE setting, %r, is invalid. Is it spelled correctly? Available options are: %s" % \
|
||||
(DATABASE_ENGINE, ', '.join(map(repr, available_backends)))
|
||||
|
||||
DatabaseError = dbmod.DatabaseError
|
||||
db = dbmod.DatabaseWrapper()
|
||||
|
|
Loading…
Reference in New Issue