PRODUCTION = env.get("production", False) SSL_ENABLED = PRODUCTION SSL_FORCE = PRODUCTION DEBUG = env.get("debug", not PRODUCTION) # django-secure SECURE_SSL_REDIRECT = env.get("secure_ssl_redirect", PRODUCTION) SECURE_CONTENT_TYPE_NOSNIFF = env.get("secure_content_type_nosniff", PRODUCTION) SECURE_BROWSER_XSS_FILTER = env.get("secure_browser_xss_filter", PRODUCTION) SECURE_HSTS_SECONDS = env.get("secure_hsts_seconds", 10) SECURE_HSTS_INCLUDE_SUBDOMAINS = env.get("secure_hsts_include_subdomains", PRODUCTION) SECURE_SSL_HOST = env.get("secure_ssl_host", False) SECURE_REDIRECT_EXEMPT = env.getlist("secure_redirect_exempt", []) X_FRAME_OPTIONS = env.get("x_frame_options", "DENY") ADMINS = [("alert", env.get("alert_email", "root@localhost"))] MANAGERS = ADMINS # anymail email DEFAULT_FROM_EMAIL = env.get( "DJANGO_DEFAULT_FROM_EMAIL", "Bioplaforms Data Portal <*****@*****.**>") EMAIL_SUBJECT_PREFIX = env.get("DJANGO_EMAIL_SUBJECT_PREFIX", "[Bioplatforms Workflow] ") SERVER_EMAIL = env.get("DJANGO_SERVER_EMAIL", DEFAULT_FROM_EMAIL) EMAIL_BACKEND = "anymail.backends.amazon_ses.EmailBackend" ANYMAIL = { "AMAZON_SES_MESSAGE_TAG_NAME": "Type", "AMAZON_SES_CLIENT_PARAMS": {
APP_INSTANCE = env.get("app_instance", "turtle") DATABASES = { 'default': { 'ENGINE': env.get_db_engine("dbtype", "pgsql"), 'NAME': env.get("dbname", APP_INSTANCE), 'USER': env.get("dbuser", APP_INSTANCE), 'PASSWORD': env.get("dbpass", APP_INSTANCE), 'HOST': env.get("dbserver", ""), 'PORT': env.get("dbport", ""), } } # Hosts/domain names that are valid for this site; required if DEBUG is False # See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts ALLOWED_HOSTS = env.getlist("allowed_hosts", ["localhost"]) # Local time zone for this installation. Choices can be found here: # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name # although not all choices may be available on all operating systems. # In a Windows environment this must be set to your system time zone. TIME_ZONE = env.get("time_zone", "Australia/Perth") # Language code for this installation. All choices can be found here: # http://www.i18nguy.com/unicode/language-identifiers.html LANGUAGE_CODE = 'en-us' SITE_ID = 1 # If you set this to False, Django will make some optimizations so as not # to load the internationalization machinery.
env = EnvConfig() SCRIPT_NAME = env.get("script_name", os.environ.get("HTTP_SCRIPT_NAME", "")) FORCE_SCRIPT_NAME = env.get("force_script_name", "") or SCRIPT_NAME or None WEBAPP_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # General site config PRODUCTION = env.get("production", False) # https://docs.djangoproject.com/en/1.8/ref/middleware/#django.middleware.security.SecurityMiddleware SECURE_SSL_REDIRECT = env.get("secure_ssl_redirect", PRODUCTION) SECURE_SSL_HOST = env.get("secure_ssl_host", False) SECURE_CONTENT_TYPE_NOSNIFF = env.get("secure_content_type_nosniff", PRODUCTION) SECURE_BROWSER_XSS_FILTER = env.get("secure_browser_xss_filter", PRODUCTION) SECURE_REDIRECT_EXEMPT = env.getlist("secure_redirect_exempt", []) X_FRAME_OPTIONS = env.get("x_frame_options", 'DENY') # iprestrict config https://github.com/muccg/django-iprestrict IPRESRICT_TRUSTED_PROXIES = env.getlist("iprestrict_trusted_proxies", []) IPRESTRICT_RELOAD_RULES = env.get("iprestrict_reload_rules", True) IPRESTRICT_IGNORE_PROXY_HEADER = env.get("iprestrict_ignore_proxy_header", False) # If iprestrict by location is enabled then the MaxMind database needs # to be available. IPRESTRICT_GEOIP_ENABLED = env.get("iprestrict_geoip_enabled", False) GEOIP_PATH = env.get("geoip_path", os.path.join(WEBAPP_ROOT, "geoip")) DEBUG = env.get("debug", not PRODUCTION) SITE_ID = env.get("site_id", 1) APPEND_SLASH = env.get("append_slash", True)
import os import logging import logging.handlers from ccg_django_utils.conf import EnvConfig env = EnvConfig() CCG_INSTALL_ROOT = os.path.dirname(os.path.realpath(__file__)) CCG_WRITEABLE_DIRECTORY = os.path.join(CCG_INSTALL_ROOT,"scratch") PROJECT_NAME = os.path.basename(CCG_INSTALL_ROOT) # see ccg_django_utils.webhelpers BASE_URL_PATH = os.environ.get("SCRIPT_NAME", "") # See: https://docs.djangoproject.com/en/1.5/releases/1.5/#allowed-hosts-required-in-production ALLOWED_HOSTS = env.getlist("allowed_hosts", ["*"]) DATABASES = { 'default': { 'ENGINE': env.get_db_engine("dbtype", "pgsql"), 'NAME': env.get("dbname", "mastrms"), 'USER': env.get("dbuser", "mastrms"), 'PASSWORD': env.get("dbpass", "mastrms"), 'HOST': env.get("dbserver", ""), 'PORT': env.get("dbport", ""), } } # see: https://docs.djangoproject.com/en/dev/ref/settings/#middleware-classes MIDDLEWARE_CLASSES = [ 'userlog.middleware.RequestToThreadLocalMiddleware',
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) SCRIPT_NAME = env.get("script_name", os.environ.get("HTTP_SCRIPT_NAME", "")) FORCE_SCRIPT_NAME = env.get("force_script_name", "") or SCRIPT_NAME or None # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/1.10/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'vw@swrr&+y6df%^1g!2n1vy7y+g=0=&%r@qi)6uck664(xb!%v' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = env.get("debug", True) PRODUCTION = env.get("production", False) ALLOWED_HOSTS = env.getlist("allowed_hosts", ["*"]) # https://docs.djangoproject.com/en/1.8/ref/middleware/#django.middleware.security.SecurityMiddleware SECURE_SSL_REDIRECT = env.get("secure_ssl_redirect", PRODUCTION) SECURE_SSL_HOST = env.get("secure_ssl_host", False) SECURE_CONTENT_TYPE_NOSNIFF = env.get("secure_content_type_nosniff", PRODUCTION) SECURE_BROWSER_XSS_FILTER = env.get("secure_browser_xss_filter", PRODUCTION) SECURE_REDIRECT_EXEMPT = env.getlist("secure_redirect_exempt", []) # Schema will not show if set to DENY X_FRAME_OPTIONS = env.get("x_frame_options", 'ALLOW') # session and cookies SESSION_COOKIE_AGE = env.get("session_cookie_age", 60 * 60) SESSION_COOKIE_PATH = '{0}/'.format(SCRIPT_NAME) SESSION_SAVE_EVERY_REQUEST = env.get("session_save_every_request", True)
FORCE_SCRIPT_NAME = env.get("force_script_name", "") or SCRIPT_NAME or None WEBAPP_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) PRODUCTION = env.get("production", False) TESTING = env.get("testing", False) # set debug, see: https://docs.djangoproject.com/en/dev/ref/settings/#debug DEBUG = env.get("debug", not PRODUCTION) # https://docs.djangoproject.com/en/1.8/ref/middleware/#django.middleware.security.SecurityMiddleware SECURE_SSL_REDIRECT = env.get("secure_ssl_redirect", PRODUCTION) SECURE_SSL_HOST = env.get("secure_ssl_host", "") or None SECURE_CONTENT_TYPE_NOSNIFF = env.get("secure_content_type_nosniff", PRODUCTION) SECURE_BROWSER_XSS_FILTER = env.get("secure_browser_xss_filter", PRODUCTION) SECURE_REDIRECT_EXEMPT = env.getlist("secure_redirect_exempt", []) X_FRAME_OPTIONS = env.get("x_frame_options", 'SAMEORIGIN') # see: https://docs.djangoproject.com/en/dev/ref/settings/#site-id SITE_ID = 1 ATOMIC_REQUESTS = True # see: https://docs.djangoproject.com/en/dev/ref/settings/#middleware-classes MIDDLEWARE_CLASSES = [ 'django.middleware.security.SecurityMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware',