""" Using the below, you can then issue commands like the following from the shell DJANGO_ENVIRONMENT=dev /path/to/manage.py shell DJANGO_ENVIRONMENT=dev /path/to/manage.py runfcgi etc etc You can also use this very nicely with supervisord and uwsgi. ALSO, you can have individual settings based on the local server hostname: import socket if socket.gethostname() == 'sws01.internal': pass else: pass etc etc """ #settings.py # Add this to the top of your settings.py if not os.environ.has_key('DJANGO_ENVIRONMENT'): raise Exception, "You must provide environ DJANGO_ENVIRONMENT (dev/staging/prod)" if not os.environ.get('DJANGO_ENVIRONMENT') in ('dev', 'staging', 'prod'): raise Exception, "Invalid environment specified, DJANGO_ENVIRONMENT must be (dev/staging/prod)" if os.environ['DJANGO_ENVIRONMENT']=='dev': # Enable debug mode DEBUG = True TEMPLATE_DEBUG = DEBUG SHOW_DEBUG_TOOLBAR = True # Database DATABASE_NAME = '' DATABASE_USER = '' DATABASE_PASSWORD = '' DATABASE_HOST = '' DATABASE_PORT = '' # Celery Broker BROKER_HOST = "mysql01.internal" BROKER_PORT = 5672 BROKER_USER = "simplicitymedialtd" BROKER_PASSWORD = "" BROKER_VHOST = "cdn06_dev" # Cache settings CACHE_BACKEND = 'memcached://hostname:12345/' if os.environ['DJANGO_ENVIRONMENT']=='staging': # Enable debug mode DEBUG = True TEMPLATE_DEBUG = DEBUG SHOW_DEBUG_TOOLBAR = True # Database DATABASE_NAME = '' DATABASE_USER = '' DATABASE_PASSWORD = '' DATABASE_HOST = '' DATABASE_PORT = '' # Celery Broker BROKER_HOST = "mysql01.internal" BROKER_PORT = 5672 BROKER_USER = "simplicitymedialtd" BROKER_PASSWORD = "" BROKER_VHOST = "cdn06_dev" # Cache settings CACHE_BACKEND = 'memcached://hostname:12345/' if os.environ['DJANGO_ENVIRONMENT']=='prod': # Enable debug mode DEBUG = False TEMPLATE_DEBUG = DEBUG SHOW_DEBUG_TOOLBAR = True # Database DATABASE_NAME = '' DATABASE_USER = '' DATABASE_PASSWORD = '' DATABASE_HOST = '' DATABASE_PORT = '' # Celery Broker BROKER_HOST = "mysql01.internal" BROKER_PORT = 5672 BROKER_USER = "simplicitymedialtd" BROKER_PASSWORD = "" BROKER_VHOST = "cdn06_dev" # Cache settings CACHE_BACKEND = 'memcached://hostname:12345/'