Read settings from local_settings.py

Each installation of our Django site has slightly different settings -- namely, which database to use. Developers can provide a local_settings.py file which lets them override (or, just as usefully, extend) settings that are in settings.py.

Subversion is told to ignore local_settings.py, so it's never checked in.
If local_settings.py is missing, the site refuses to work.

We include a local_settings_example.py file so that new developers can get started more quickly.

########################################################################## Import settings from local_settings.py, if it exists.## Put this at the end of settings.pytry:importlocal_settingsexceptImportError:print""" ------------------------------------------------------------------------- You need to create a local_settings.py file which needs to contain at least database connection information. Copy local_settings_example.py to local_settings.py and edit it. ------------------------------------------------------------------------- """importsyssys.exit(1)else:# Import any symbols that begin with A-Z. Append to lists any symbols that# begin with "EXTRA_".importreforattrindir(local_settings):match=re.search('^EXTRA_(\w+)',attr)ifmatch:name=match.group(1)value=getattr(local_settings,attr)try:globals()[name]+=valueexceptKeyError:globals()[name]=valueelifre.search('^[A-Z]',attr):globals()[attr]=getattr(local_settings,attr)########################################################################## local_settings_example.py# Local Django settings example.## You can put any custom options you would normally want in settings.py into# this file. If you want to *add* middleware or applications, precede a setting# name with "EXTRA_".# Use a local SQLite database.DATABASE_ENGINE='sqlite3'DATABASE_NAME='/tmp/djangodb'DATABASE_USER=''DATABASE_PASSWORD=''DATABASE_HOST=''DATABASE_PORT=''# Required for Django Debug Toolbar and other things.INTERNAL_IPS=('127.0.0.1',)# Add Django Debug Toolbar application. (It's cool.)EXTRA_MIDDLEWARE_CLASSES=('debug_toolbar.middleware.DebugToolbarMiddleware',)EXTRA_INSTALLED_APPS=('debug_toolbar',)