Folder structure:
settings (folder):
| __init__.py
| base.py
| local.py
| production.py
| test.py
# coding=utf-8 | |
"""Common settings and globals.""" | |
from os.path import abspath, basename, dirname, join, normpath | |
from os import environ | |
from sys import path | |
from oscar import get_core_apps | |
from oscar import OSCAR_MAIN_TEMPLATE_DIR | |
from oscar.defaults import * | |
########## PATH CONFIGURATION | |
# Absolute filesystem path to the Django project directory: | |
DJANGO_ROOT = dirname(dirname(abspath(__file__))) | |
# Absolute filesystem path to the top-level project folder: | |
SITE_ROOT = dirname(DJANGO_ROOT) | |
# Site name: | |
SITE_NAME = basename(DJANGO_ROOT) | |
# Add our project to our pythonpath, this way we don't need to type our project | |
# name in our dotted import paths: | |
path.append(DJANGO_ROOT) | |
########## END PATH CONFIGURATION | |
########## DEBUG CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#debug | |
DEBUG = False | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-debug | |
TEMPLATE_DEBUG = DEBUG | |
########## END DEBUG CONFIGURATION | |
########## MANAGER CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#admins | |
ADMINS = ( | |
('Luis Diego Garcia', 'redacted') | |
) | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#managers | |
MANAGERS = ADMINS | |
########## END MANAGER CONFIGURATION | |
########## DATABASE CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#databases | |
DATABASES = { | |
'default': { | |
'ENGINE': 'django.db.backends.', | |
'NAME': '', | |
'USER': '', | |
'PASSWORD': '', | |
'HOST': '', | |
'PORT': '', | |
} | |
} | |
########## END DATABASE CONFIGURATION | |
########## GENERAL CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#time-zone | |
TIME_ZONE = 'America/Los_Angeles' | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#language-code | |
LANGUAGE_CODE = 'es' | |
LANGUAGE_COOKIE_NAME = 'language' | |
LANGUAGES = ( | |
('es', 'Español'), | |
('en', 'English'), | |
) | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#site-id | |
SITE_ID = 1 | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#use-i18n | |
USE_I18N = True | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#use-l10n | |
USE_L10N = True | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#use-tz | |
USE_TZ = True | |
########## END GENERAL CONFIGURATION | |
########## MEDIA CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#media-root | |
MEDIA_ROOT = normpath(join(SITE_ROOT, 'media')) | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#media-url | |
MEDIA_URL = '/media/' | |
########## END MEDIA CONFIGURATION | |
########## STATIC FILE CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#static-root | |
STATIC_ROOT = normpath(join(SITE_ROOT, 'assets')) | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#static-url | |
STATIC_URL = '/static/' | |
# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS | |
STATICFILES_DIRS = ( | |
normpath(join(SITE_ROOT, 'static')), | |
) | |
# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#staticfiles-finders | |
STATICFILES_FINDERS = ( | |
'django.contrib.staticfiles.finders.FileSystemFinder', | |
'django.contrib.staticfiles.finders.AppDirectoriesFinder', | |
) | |
########## END STATIC FILE CONFIGURATION | |
########## SECRET CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#secret-key | |
# Note: This key should only be used for development and testing. | |
SECRET_KEY = environ.get('SECRET_KEY', '') | |
########## END SECRET CONFIGURATION | |
########## SITE CONFIGURATION | |
# Hosts/domain names that are valid for this site | |
# See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts | |
ALLOWED_HOSTS = [] | |
########## END SITE CONFIGURATION | |
########## FIXTURE CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-FIXTURE_DIRS | |
FIXTURE_DIRS = ( | |
normpath(join(SITE_ROOT, 'fixtures')), | |
) | |
########## END FIXTURE CONFIGURATION | |
########## TEMPLATE CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-context-processors | |
TEMPLATE_CONTEXT_PROCESSORS = ( | |
"django.contrib.auth.context_processors.auth", | |
"django.core.context_processors.request", | |
"django.core.context_processors.debug", | |
"django.core.context_processors.i18n", | |
"django.core.context_processors.media", | |
"django.core.context_processors.static", | |
"django.core.context_processors.tz", | |
"django.contrib.messages.context_processors.messages", | |
'oscar.apps.search.context_processors.search_form', | |
'oscar.apps.promotions.context_processors.promotions', | |
'oscar.apps.checkout.context_processors.checkout', | |
'oscar.apps.customer.notifications.context_processors.notifications', | |
'oscar.core.context_processors.metadata', | |
) | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-loaders | |
TEMPLATE_LOADERS = ( | |
'django.template.loaders.filesystem.Loader', | |
'django.template.loaders.app_directories.Loader', | |
) | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-dirs | |
TEMPLATE_DIRS = ( | |
normpath(join(SITE_ROOT, 'templates')), | |
OSCAR_MAIN_TEMPLATE_DIR, | |
) | |
########## END TEMPLATE CONFIGURATION | |
########## MIDDLEWARE CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#middleware-classes | |
MIDDLEWARE_CLASSES = ( | |
# Default Django middleware. | |
'django.middleware.common.CommonMiddleware', | |
'django.contrib.sessions.middleware.SessionMiddleware', | |
'django.middleware.csrf.CsrfViewMiddleware', | |
'django.contrib.auth.middleware.AuthenticationMiddleware', | |
'django.contrib.messages.middleware.MessageMiddleware', | |
'django.middleware.clickjacking.XFrameOptionsMiddleware', | |
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware', | |
) | |
########## END MIDDLEWARE CONFIGURATION | |
########## URL CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#root-urlconf | |
ROOT_URLCONF = '%s.urls' % SITE_NAME | |
########## END URL CONFIGURATION | |
########## APP CONFIGURATION | |
DJANGO_APPS = ( | |
# Default Django apps: | |
'django.contrib.auth', | |
'django.contrib.contenttypes', | |
'django.contrib.sessions', | |
'django.contrib.sites', | |
'django.contrib.messages', | |
'django.contrib.staticfiles', | |
'django.contrib.flatpages', | |
) | |
THIRD_PARTY_APPS = ( | |
'south', | |
'compressor' | |
) + tuple(get_core_apps()) | |
# Apps specific for this project go here. | |
LOCAL_APPS = ( | |
) | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#installed-apps | |
INSTALLED_APPS = DJANGO_APPS + THIRD_PARTY_APPS + LOCAL_APPS | |
########## END APP CONFIGURATION | |
########## LOGGING CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#logging | |
# A sample logging configuration. The only tangible logging | |
# performed by this configuration is to send an email to | |
# the site admins on every HTTP 500 error when DEBUG=False. | |
# See http://docs.djangoproject.com/en/dev/topics/logging for | |
# more details on how to customize your logging configuration. | |
LOGGING = { | |
'version': 1, | |
'disable_existing_loggers': False, | |
'filters': { | |
'require_debug_false': { | |
'()': 'django.utils.log.RequireDebugFalse' | |
} | |
}, | |
'handlers': { | |
'mail_admins': { | |
'level': 'ERROR', | |
'filters': ['require_debug_false'], | |
'class': 'django.utils.log.AdminEmailHandler' | |
} | |
}, | |
'loggers': { | |
'django.request': { | |
'handlers': ['mail_admins'], | |
'level': 'ERROR', | |
'propagate': True, | |
}, | |
} | |
} | |
########## END LOGGING CONFIGURATION | |
########## WSGI CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#wsgi-application | |
WSGI_APPLICATION = '%s.wsgi.application' % SITE_NAME | |
########## END WSGI CONFIGURATION | |
########## AUTH CONFIGURATION | |
AUTHENTICATION_BACKENDS = ( | |
'oscar.apps.customer.auth_backends.Emailbackend', | |
'django.contrib.auth.backends.ModelBackend', | |
) | |
########## END AUTH CONFIGURATION |
Folder structure:
settings (folder):
| __init__.py
| base.py
| local.py
| production.py
| test.py
"""Development settings and globals.""" | |
from os.path import join, normpath | |
from base import * | |
########## DEBUG CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#debug | |
DEBUG = True | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-debug | |
TEMPLATE_DEBUG = DEBUG | |
########## END DEBUG CONFIGURATION | |
########## EMAIL CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#email-backend | |
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend' | |
########## END EMAIL CONFIGURATION | |
########## DATABASE CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#databases | |
DATABASES = { | |
'default': { | |
'ENGINE': 'django.db.backends.postgresql_psycopg2', | |
'NAME': environ.get('DATABASE_NAME', ''), | |
'USER': environ.get('DATABASE_USER', ''), | |
'PASSWORD': environ.get('DATABASE_PASS', ''), | |
'HOST': '', | |
'PORT': '', | |
} | |
} | |
########## END DATABASE CONFIGURATION | |
########## CACHE CONFIGURATION | |
# See: https://docs.djangoproject.com/en/dev/ref/settings/#caches | |
CACHES = { | |
'default': { | |
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', | |
} | |
} | |
########## END CACHE CONFIGURATION | |
########## TOOLBAR CONFIGURATION | |
# See: https://github.com/django-debug-toolbar/django-debug-toolbar#installation | |
INSTALLED_APPS += ( | |
'debug_toolbar', | |
) | |
# See: https://github.com/django-debug-toolbar/django-debug-toolbar#installation | |
INTERNAL_IPS = ('127.0.0.1',) | |
# See: https://github.com/django-debug-toolbar/django-debug-toolbar#installation | |
MIDDLEWARE_CLASSES += ( | |
'debug_toolbar.middleware.DebugToolbarMiddleware', | |
) | |
# See: https://github.com/django-debug-toolbar/django-debug-toolbar#installation | |
DEBUG_TOOLBAR_CONFIG = { | |
'INTERCEPT_REDIRECTS': False, | |
'SHOW_TEMPLATE_CONTEXT': True, | |
} | |
########## END TOOLBAR CONFIGURATION | |
########## HAYSTACK CONFIGURATION | |
HAYSTACK_CONNECTIONS = { | |
'default': { | |
'ENGINE': 'haystack.backends.simple_backend.SimpleEngine', | |
}, | |
} | |
########## END HAYSTACK CONFIGURATION |