settings.py 7.34 KB
Newer Older
1 2 3 4 5 6
# Django settings for panikdb project.

import os

DEBUG = True
TEMPLATE_DEBUG = DEBUG
fred's avatar
fred committed
7
DEBUG_TOOLBAR = True
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

PROJECT_PATH = os.path.dirname(os.path.dirname(__file__))

ADMINS = (
    ('Frederic Peters', 'fred@radiopanik.org'),
)

MANAGERS = ADMINS

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(PROJECT_PATH, 'panikdb.sqlite3'),
    }
}

# 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 = []

# 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 = 'Europe/Brussels'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
LANGUAGE_CODE = 'fr-be'

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.
49
USE_TZ = False
50 51 52 53 54 55 56 57

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

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash.
# Examples: "http://example.com/media/", "http://media.example.com/"
fred's avatar
fred committed
58
MEDIA_URL = '/media/'
59 60 61 62 63 64 65 66 67 68 69

# 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: "/var/www/example.com/static/"
STATIC_ROOT = os.path.join(PROJECT_PATH, 'static')

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

70
CKEDITOR_UPLOAD_PATH = 'uploads/'
fred's avatar
fred committed
71
CKEDITOR_UPLOAD_PREFIX = '/media/uploads/'
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
# 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_PATH, 'panikdb', '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',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

# Make this unique, and don't share it with anybody.
SECRET_KEY = '(jwx-1y#d#vps93glikirr&tq_!^_4g+9-qj(jy#l=sllqw(^j'

# 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.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    # Uncomment the next line for simple clickjacking protection:
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

ROOT_URLCONF = 'panikdb.urls'

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

TEMPLATE_DIRS = (
    os.path.join(PROJECT_PATH, 'panikdb', 'templates'),
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.admin',
126
    'registration',
127
    'ckeditor',
128
    'haystack',
129
    'taggit',
130 131 132
    'jquery',
    'datetimewidget',
    'django_bootstrap_staticfiles',
133
    'emissions',
134
    'newsletter',
fred's avatar
fred committed
135
    'matos',
136
    'nonstop',
fred's avatar
fred committed
137
    'panikdb.aa',
fred's avatar
fred committed
138
    'panikdb.customtags',
fred's avatar
fred committed
139
    'panikdb.stats',
140 141 142
    'gadjo',
    'combo.data',
    'combo.manager',
143 144
    'sorl.thumbnail',
    'combo.apps.gallery',
145 146
    'panikombo',
    'django_select2',
147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
)

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

178 179
CKEDITOR_CONFIGS = {
    'default': {
fred's avatar
fred committed
180 181 182 183
        'toolbar_Own': [['Source', 'Format', '-', 'Bold', 'Italic'],
                        ['NumberedList','BulletedList'],
                        ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
                        ['Link', 'Unlink'],
184 185
                        ['Image',],
                        ['RemoveFormat',]],
fred's avatar
fred committed
186
        'toolbar': 'Own',
187 188 189
    },
}

190 191 192
HAYSTACK_CONNECTIONS = {
    'default': {
        'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
193
        'URL': 'http://127.0.0.1:8985/solr/panik'
194 195
    },
}
196

fred's avatar
fred committed
197 198 199 200 201 202
CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
    },
}

fred's avatar
fred committed
203 204
TEST_RUNNER = 'django.test.runner.DiscoverRunner'

fred's avatar
fred committed
205
AUTH_USER_MODEL = 'aa.User'
206
LOGIN_REDIRECT_URL = '/'
207
WEBSITE_BASE_URL = 'http://www.radiopanik.org/'
208

209 210 211 212 213 214 215 216 217 218 219 220 221
NEWSLETTER_SENDER = 'info@radiopanik.org'
NEWSLETTER_DOMAIN = 'radiopanik.org'
NEWSLETTER_STYLE = """
body { color: #222; text-align: justify; }
h2, h3 { font-family: "Reglo"; }
h3 { margin-bottom: 0; }
h3 + p { margin-top: 0; }
p strong { color: black; }
h3 strong { text-transform: uppercase; color: blue; }
p a { color: black; text-decoration: none; border-bottom: 1px dotted black; }
p a:hover { border-bottom: 1px solid black; }
"""

fred's avatar
fred committed
222 223
RAVEN_CONFIG = None

224 225 226 227 228 229 230 231 232 233
COMBO_PUBLIC_TEMPLATES = {
    'standard': {
        'name': 'Standard',
        'template': 'combo/page_template.html',
        'placeholders': {
            'content': {
                'name': 'Content',
            },
        }
    },
234 235 236 237 238 239 240 241 242 243
    'fullwidth': {
        'name': 'Fullwidth',
        'template': 'combo/page_template_full_width.html',
        'placeholders': {
            'content': {
                'name': 'Content',
            },
        }
    },

244 245
}

246
AUTO_RENDER_SELECT2_STATICS = False
247

248 249 250 251
try:
    from local_settings import *
except ImportError:
    pass
fred's avatar
fred committed
252 253 254 255 256 257 258 259

if DEBUG and DEBUG_TOOLBAR:
    MIDDLEWARE_CLASSES += (
        'debug_toolbar.middleware.DebugToolbarMiddleware',
    )
    INSTALLED_APPS += (
        'debug_toolbar',
    )
fred's avatar
fred committed
260 261 262 263 264

if RAVEN_CONFIG:
    INSTALLED_APPS += (
        'raven.contrib.django.raven_compat',
    )