settings.py 6.85 KB
Newer Older
1 2 3 4 5 6
# Global settings for mothra project.
import django.conf.global_settings as DEFAULT_SETTINGS
import os

PROJECT_DIR = os.path.dirname(__file__)
PUBLIC_DIR = os.path.join(PROJECT_DIR, 'public')
matjaz's avatar
matjaz committed
7
BACKUP_DIR = os.path.join(PROJECT_DIR, 'backup')
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153

DEBUG = False
TEMPLATE_DEBUG = True

ADMINS = (
    # ('Your Name', 'your_email@example.com'),
)

MANAGERS = ADMINS

# 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.
# On Unix systems, a value of None will cause Django to use the same
# timezone as the operating system.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'UTC'

# 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.
USE_I18N = True

# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale.
USE_L10N = True

# If you set this to False, Django will not use timezone-aware datetimes.
USE_TZ = True

# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/media/"
MEDIA_ROOT = os.path.join(PUBLIC_DIR, 'media')

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://media.lawrence.com/media/", "http://example.com/media/"
MEDIA_URL = '/media/'

# Absolute path to the directory static files should be collected to.
# Don't put anything in this directory yourself; store your static files
# in apps' "static/" subdirectories and in STATICFILES_DIRS.
# Example: "/home/media/media.lawrence.com/static/"
STATIC_ROOT = os.path.join(PUBLIC_DIR, 'static')

# URL prefix for static files.
# Example: "http://media.lawrence.com/static/"
STATIC_URL = '/static/'

# Additional locations of static files
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    os.path.join(PROJECT_DIR, 'static'),
)

# List of finder classes that know how to find static files in
# various locations.
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
)

# 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',
)

MIDDLEWARE_CLASSES = (
    'django.middleware.cache.UpdateCacheMiddleware', # must be first
    '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.middleware.cache.FetchFromCacheMiddleware', # must be last
)

CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_SECONDS = 10
CACHE_MIDDLEWARE_KEY_PREFIX = 'mothra'

ROOT_URLCONF = 'mothra.urls'

# Python dotted path to the WSGI application used by Django's runserver.
WSGI_APPLICATION = 'mothra.wsgi.application'

TEMPLATE_DIRS = (
    # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    os.path.join(PROJECT_DIR, 'templates'),
)

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.media',
    'django.core.context_processors.static',
    'django.core.context_processors.request',
)

FIXTURE_DIRS = (
    os.path.join(PROJECT_DIR, 'fixtures'),
)

# 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,
        },
    }
}

154
USE_CONCURRENCY = False   
Anze Vavpetic's avatar
merge  
Anze Vavpetic committed
155 156 157 158 159 160 161 162 163 164 165 166 167 168 169

INSTALLED_APPS_DEFAULT = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
    'website',
    'signuplogin',
    'django_extensions',
    'django.contrib.humanize',
    'orderable_inlines',
    'workflows',
Janez K's avatar
Janez K committed
170 171
    'picklefield',
    'streams',
Janez K's avatar
Janez K committed
172
    #'rest_framework',
173
    'djcelery',
Janez K's avatar
fix  
Janez K committed
174
    #'kombu.transport.django',
Janez K's avatar
Janez K committed
175
    'discover_runner',
176
    'rest_framework',
Janez K's avatar
Janez K committed
177
    'south',    
Anze Vavpetic's avatar
merge  
Anze Vavpetic committed
178 179
    )

Janez K's avatar
bugfix  
Janez K committed
180
INSTALLED_APPS_WORKFLOWS_SUB = ()
181
INSTALLED_APPS_EXTERNAL_PACKAGES = ()
Janez K's avatar
bugfix  
Janez K committed
182

Janez K's avatar
Janez K committed
183 184
TEST_RUNNER = 'discover_runner.DiscoverRunner'

185 186
USE_WINDOWS_QUEUE = True

187 188 189
import djcelery
djcelery.setup_loader()

Janez K's avatar
Janez K committed
190 191 192 193 194 195 196
REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),
    'DEFAULT_AUTHENTICATION_CLASSES': (
        'rest_framework.authentication.BasicAuthentication',
        'rest_framework.authentication.SessionAuthentication',
        'rest_framework.authentication.TokenAuthentication',
    ),
Janez K's avatar
Janez K committed
197 198
    'PAGINATE_BY': None,
    'DEFAULT_FILTER_BACKENDS': ('rest_framework.filters.DjangoFilterBackend',)    
Janez K's avatar
Janez K committed
199
}
Janez K's avatar
Janez K committed
200

Janez K's avatar
Janez K committed
201 202 203 204 205 206 207 208 209 210 211 212 213
TEMPLATE_CONTEXT_PROCESSORS = DEFAULT_SETTINGS.TEMPLATE_CONTEXT_PROCESSORS

TEMPLATES_FOLDER = os.path.join(PROJECT_DIR, 'templates')

PROJECT_FOLDER = PROJECT_DIR

TEMPLATE_DIRS = (TEMPLATES_FOLDER,)

AUTH_PROFILE_MODULE = 'workflows.UserProfile'

LOGIN_URL = '/login/'
LOGIN_REDIRECT_URL = '/'

Janez K's avatar
Janez K committed
214
STATIC_DOC_ROOT = os.path.join(os.getcwd(), 'mothra/public/media')
Anze Vavpetic's avatar
merge  
Anze Vavpetic committed
215

Janez K's avatar
bugfix  
Janez K committed
216
CELERY_RESULT_BACKEND = 'amqp'
Janez K's avatar
bugfix  
Janez K committed
217
CELERY_TASK_RESULT_EXPIRES = 18000
218 219 220 221 222 223 224 225 226 227 228

try:
    LOCAL_SETTINGS
except NameError:
    try:
        from local_settings import *
    except ImportError:
        pass     

INSTALLED_APPS = \
    INSTALLED_APPS_DEFAULT +\
229 230
    INSTALLED_APPS_WORKFLOWS_SUB +\
    INSTALLED_APPS_EXTERNAL_PACKAGES