"""
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/'
Comments