Skip to content

Instantly share code, notes, and snippets.

@renyi
Last active December 19, 2015 17:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save renyi/5993483 to your computer and use it in GitHub Desktop.
Save renyi/5993483 to your computer and use it in GitHub Desktop.
settings boilerplate.
DEBUG = True
TEMPLATE_DEBUG = True
COMPRESS_ENABLED = False
DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": "dev.db",
}
}
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
}
}
CELERY_CACHE_BACKEND = "dummy"
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
MAILER_EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
import os
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
PROJECT_DIRNAME = PROJECT_ROOT.split(os.sep)[-1]
SECRET_KEY = ''
SERVER_EMAIL = 'mailer@devtune.biz'
DEFAULT_FROM_EMAIL = 'mailer@devtune.biz'
# EMAIL_HOST = 'smtp.gmail.com'
# EMAIL_HOST_USER = 'mailer@devtune.biz'
# EMAIL_HOST_PASSWORD = 'password'
# EMAIL_PORT = 587
# EMAIL_USE_TLS = True
# EMAIL_HOST = 'email-smtp.us-east-1.amazonaws.com'
# EMAIL_HOST_USER = 'user'
# EMAIL_HOST_PASSWORD = 'password'
# EMAIL_PORT = 465
# EMAIL_USE_TLS = True
BROKER_URL = 'amqp://user:password@localhost:5672/'
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql_psycopg2",
"NAME": '%s' % PROJECT_DIRNAME,
"USER": "user",
"PASSWORD": "password",
"HOST": "127.0.0.1",
"OPTIONS": {
"autocommit": True,
}
}
}
try:
from .dev_settings import *
except ImportError:
pass
# coding: utf-8
from django.conf.global_settings import gettext_noop
DEBUG = False
TEMPLATE_DEBUG = False
ADMINS = [
('Devtune Admin', 'admin@devtune.biz'),
]
MANAGERS = ADMINS
USE_I18N = True
USE_L10N = True
LANGUAGE_CODE = "en-gb"
LANGUAGES = [
("en-gb", gettext_noop('English')),
('ms', gettext_noop('Bahasa Malaysia')),
('zh-cn', gettext_noop('中文')),
]
USE_TZ = True
TIME_ZONE = 'Asia/Kuala_Lumpur'
INTERNAL_IPS = ["127.0.0.1"]
SESSION_ENGINE = 'django.contrib.sessions.backends.cached_db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = True
SITE_ID = 1
STATIC_URL = '/static/'
MEDIA_URL = '/static/'
TEMPLATE_CONTEXT_PROCESSORS = [
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.static",
"django.core.context_processors.media",
"django.core.context_processors.request",
"django.core.context_processors.tz",
]
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
"django.contrib.redirects",
"django.contrib.sessions",
"django.contrib.sites",
"django.contrib.sitemaps",
"django.contrib.staticfiles",
# "django.contrib.formtools",
"compressor",
"django_extensions",
"gunicorn",
"djcelery",
"seacucumber",
# 'bootstrap_toolkit',
# "form_utils",
# "model_report",
# "guardian",
# "easy_thumbnails",
# "userena",
# 'actstream',
# 'storages',
]
# List of callables that know how to import templates from various sources.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
"django.middleware.locale.LocaleMiddleware",
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
AUTHENTICATION_BACKENDS = [
"userena.backends.UserenaAuthenticationBackend",
"guardian.backends.ObjectPermissionBackend",
"django.contrib.auth.backends.ModelBackend",
]
STATICFILES_FINDERS = [
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
'compressor.finders.CompressorFinder'
]
##############
# Compressor #
##############
COMPRESS_ENABLED = True
COMPRESS_CSS_FILTERS = [
'compressor.filters.css_default.CssAbsoluteFilter',
'compressor.filters.cssmin.CSSMinFilter',
]
COMPRESS_JS_FILTERS = [
'compressor.filters.jsmin.JSMinFilter',
]
COMPRESS_PRECOMPILERS = (
('text/less', 'lessc {infile} {outfile}'),
)
###########
# Logging #
###########
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,
},
}
}
#########
# PATHS #
#########
import os
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
PROJECT_DIRNAME = PROJECT_ROOT.split(os.sep)[-1]
ROOT_URLCONF = '%s.urls' % PROJECT_DIRNAME
CACHE_MIDDLEWARE_KEY_PREFIX = '%s_' % PROJECT_DIRNAME
CACHE_MIDDLEWARE_ALIAS = '%s_' % PROJECT_DIRNAME
CSRF_COOKIE_NAME = '%s_csrftoken' % PROJECT_DIRNAME
LANGUAGE_COOKIE_NAME = '%s_language' % PROJECT_DIRNAME
SESSION_COOKIE_NAME = '%s_session' % PROJECT_DIRNAME
WSGI_APPLICATION = '%s.wsgi.application' % PROJECT_DIRNAME
STATIC_ROOT = '%s/static/' % PROJECT_DIRNAME
MEDIA_ROOT = '%s/media/' % PROJECT_DIRNAME
COMPRESS_ROOT = STATIC_ROOT
BROKER_VHOST = PROJECT_DIRNAME
BROKER_URL = '%s%s' % (BROKER_URL, BROKER_VHOST)
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
'LOCATION': ['127.0.0.1:11211'],
'KEY_PREFIX': '%s' % PROJECT_DIRNAME,
}
}
#########
# EMAIL #
#########
try:
EMAIL_BACKEND = 'seacucumber.backend.SESBackend'
MAILER_EMAIL_BACKEND = 'seacucumber.backend.SESBackend'
except:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
MAILER_EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
# EMAIL_BACKEND = 'kopio.core.mailer.backend.DbBackend'
# MAILER_EMAIL_BACKEND = 'kopio.core.mailer.backend.CeleryEmailBackend'
##########
# Celery #
##########
try:
import djcelery
djcelery.setup_loader()
CELERY_TIMEZONE = 'Asia/Kuala_Lumpur'
CELERY_SEND_TASK_ERROR_EMAILS = True
CELERY_DISABLE_RATE_LIMITS = False
CELERYD_WORKER_LOST_WAIT = 60
CELERYD_MAX_TASKS_PER_CHILD = 10
CELERYBEAT_SCHEDULER = "djcelery.schedulers.DatabaseScheduler"
CUCUMBER_RATE_LIMIT = 5
except ImportError:
pass
try:
from .local_settings import *
except ImportError:
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment