annotate gpp/settings.py @ 188:d293b423bdaf

Adding support for the django debug toolbar.
author Brian Neal <bgneal@gmail.com>
date Wed, 31 Mar 2010 01:58:20 +0000
parents be3fff614b93
children db202792d9f5
rev   line source
gremmie@1 1 # Django settings for gpp project.
gremmie@1 2
gremmie@1 3 import os
gremmie@1 4 import platform
bgneal@38 5 from decimal import Decimal
bgneal@38 6 import logging
bgneal@38 7
gremmie@1 8 import local_settings
bgneal@35 9
gremmie@1 10 project_path = os.path.abspath(os.path.split(__file__)[0])
gremmie@1 11
gremmie@1 12 DEBUG = local_settings.DEBUG
gremmie@1 13 TEMPLATE_DEBUG = DEBUG
gremmie@1 14
gremmie@1 15 ADMINS = (
gremmie@1 16 ('Brian Neal', 'admin@surfguitar101.com'),
gremmie@1 17 )
gremmie@1 18
gremmie@1 19 AUTH_PROFILE_MODULE = 'bio.userprofile'
gremmie@1 20
gremmie@1 21 MANAGERS = ADMINS
gremmie@1 22
bgneal@173 23 DATABASES = local_settings.DATABASES
gremmie@1 24
gremmie@1 25 INTERNAL_IPS = local_settings.INTERNAL_IPS
gremmie@1 26
gremmie@1 27 # Local time zone for this installation. Choices can be found here:
gremmie@1 28 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
gremmie@1 29 # although not all choices may be available on all operating systems.
gremmie@1 30 # If running in a Windows environment this must be set to the same as your
gremmie@1 31 # system time zone.
gremmie@1 32 TIME_ZONE = local_settings.TIME_ZONE
gremmie@1 33
gremmie@1 34 # Language code for this installation. All choices can be found here:
gremmie@1 35 # http://www.i18nguy.com/unicode/language-identifiers.html
gremmie@1 36 LANGUAGE_CODE = 'en-us'
gremmie@1 37
gremmie@1 38 SITE_ID = local_settings.SITE_ID
gremmie@1 39
gremmie@1 40 # If you set this to False, Django will make some optimizations so as not
gremmie@1 41 # to load the internationalization machinery.
gremmie@1 42 USE_I18N = False
gremmie@1 43
gremmie@1 44 # Absolute path to the directory that holds media.
gremmie@1 45 # Example: "/home/media/media.lawrence.com/"
gremmie@1 46 MEDIA_ROOT = local_settings.MEDIA_ROOT
gremmie@1 47
gremmie@1 48 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
gremmie@1 49 # trailing slash if there is a path component (optional in other cases).
gremmie@1 50 # Examples: "http://media.lawrence.com", "http://example.com/media/"
gremmie@1 51 MEDIA_URL = local_settings.MEDIA_URL
gremmie@1 52
gremmie@1 53 # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
gremmie@1 54 # trailing slash.
gremmie@1 55 # Examples: "http://foo.com/media/", "/media/".
gremmie@1 56 ADMIN_MEDIA_PREFIX = local_settings.ADMIN_MEDIA_PREFIX
gremmie@1 57
gremmie@1 58 # Make this unique, and don't share it with anybody.
gremmie@1 59 SECRET_KEY = local_settings.SECRET_KEY
gremmie@1 60
bgneal@174 61 # List of Loader classes that know how to import templates from various sources.
bgneal@181 62
bgneal@181 63 if DEBUG:
bgneal@181 64 TEMPLATE_LOADERS = (
bgneal@174 65 'django.template.loaders.filesystem.Loader',
bgneal@178 66 'django.template.loaders.app_directories.Loader',
bgneal@181 67 )
bgneal@181 68 else:
bgneal@181 69 TEMPLATE_LOADERS = (
bgneal@181 70 ('django.template.loaders.cached.Loader', (
bgneal@181 71 'django.template.loaders.filesystem.Loader',
bgneal@181 72 'django.template.loaders.app_directories.Loader',
bgneal@181 73 )),
bgneal@181 74 )
gremmie@1 75
bgneal@188 76 if DEBUG:
bgneal@188 77 MIDDLEWARE_CLASSES = (
bgneal@188 78 'django.middleware.common.CommonMiddleware',
bgneal@188 79 'django.contrib.sessions.middleware.SessionMiddleware',
bgneal@188 80 'django.contrib.messages.middleware.MessageMiddleware',
bgneal@188 81 'debug_toolbar.middleware.DebugToolbarMiddleware',
bgneal@188 82 'django.contrib.auth.middleware.AuthenticationMiddleware',
bgneal@188 83 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
bgneal@188 84 'gpp.forums.middleware.WhosOnline',
bgneal@188 85 )
bgneal@188 86 else:
bgneal@188 87 MIDDLEWARE_CLASSES = (
bgneal@188 88 'django.middleware.common.CommonMiddleware',
bgneal@188 89 'django.contrib.sessions.middleware.SessionMiddleware',
bgneal@188 90 'django.contrib.messages.middleware.MessageMiddleware',
bgneal@188 91 'django.contrib.auth.middleware.AuthenticationMiddleware',
bgneal@188 92 'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
bgneal@188 93 'gpp.forums.middleware.WhosOnline',
bgneal@188 94 )
gremmie@1 95
gremmie@1 96 ROOT_URLCONF = 'gpp.urls'
gremmie@1 97
gremmie@1 98 TEMPLATE_DIRS = (
gremmie@1 99 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
gremmie@1 100 # Always use forward slashes, even on Windows.
gremmie@1 101 # Don't forget to use absolute paths, not relative paths.
gremmie@1 102 os.path.join(project_path, 'templates'),
bgneal@29 103 '/home/brian/coding/python/django/django-elsewhere/elsewhere/templates',
gremmie@1 104 )
gremmie@1 105
gremmie@1 106 TEMPLATE_CONTEXT_PROCESSORS = (
bgneal@178 107 "django.contrib.auth.context_processors.auth",
bgneal@178 108 "django.core.context_processors.debug",
bgneal@178 109 "django.core.context_processors.request",
bgneal@178 110 "django.core.context_processors.media",
bgneal@178 111 "django.contrib.messages.context_processors.messages",
gremmie@1 112 )
gremmie@1 113
bgneal@188 114 INSTALLED_APPS = [
gremmie@1 115 'django.contrib.admin',
gremmie@1 116 'django.contrib.admindocs',
gremmie@1 117 'django.contrib.auth',
gremmie@1 118 'django.contrib.contenttypes',
bgneal@178 119 'django.contrib.flatpages',
bgneal@28 120 'django.contrib.humanize',
bgneal@178 121 'django.contrib.markup',
bgneal@178 122 'django.contrib.messages',
gremmie@1 123 'django.contrib.sessions',
gremmie@1 124 'django.contrib.sites',
bgneal@29 125 'elsewhere',
gremmie@1 126 'tagging',
gremmie@1 127 'accounts',
gremmie@1 128 'bio',
gremmie@1 129 'bulletins',
gremmie@1 130 'comments',
gremmie@1 131 'contact',
gremmie@1 132 'core',
bgneal@33 133 'donations',
gremmie@1 134 'downloads',
bgneal@75 135 'forums',
gremmie@1 136 'gcalendar',
gremmie@1 137 'irc',
bgneal@180 138 'mailer',
gremmie@1 139 'membermap',
gremmie@1 140 'messages',
gremmie@1 141 'news',
gremmie@1 142 'podcast',
gremmie@1 143 'polls',
gremmie@1 144 'potd',
gremmie@1 145 'shoutbox',
gremmie@1 146 'smiley',
gremmie@1 147 'weblinks',
bgneal@188 148 ]
bgneal@188 149 if DEBUG:
bgneal@188 150 INSTALLED_APPS.append('debug_toolbar')
gremmie@1 151
gremmie@1 152 LOGIN_URL = '/accounts/login/'
gremmie@1 153 LOGIN_REDIRECT_URL = '/profile/me/'
gremmie@1 154 LOGOUT_URL = '/accounts/logout/'
gremmie@1 155
bgneal@57 156 FILE_UPLOAD_PERMISSIONS = 0644
bgneal@80 157 DEFAULT_FROM_EMAIL = ADMINS[0][1]
gremmie@1 158
gremmie@1 159 #######################################################################
bgneal@178 160 # Messages
bgneal@178 161 #######################################################################
bgneal@178 162 MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'
bgneal@178 163
bgneal@178 164 #######################################################################
bgneal@180 165 # Email
bgneal@180 166 #######################################################################
bgneal@180 167 EMAIL_HOST = local_settings.EMAIL_HOST
bgneal@180 168 EMAIL_PORT = local_settings.EMAIL_PORT
bgneal@180 169
bgneal@180 170 #######################################################################
bgneal@43 171 # Caching
bgneal@43 172 #######################################################################
bgneal@43 173 if local_settings.USE_CACHE:
bgneal@43 174 CACHE_BACKEND = local_settings.CACHE_BACKEND
bgneal@43 175 #CACHE_MIDDLEWARE_SECONDS = local_settings.CACHE_MIDDLEWARE_SECONDS
bgneal@43 176 #CACHE_MIDDLEWARE_KEY_PREFIX = local_settings.CACHE_MIDDLEWARE_KEY_PREFIX
bgneal@43 177 #CACHE_MIDDLEWARE_ANONYMOUS_ONLY = local_settings.CACHE_MIDDLEWARE_ANONYMOUS_ONLY
bgneal@43 178
bgneal@43 179 #######################################################################
gremmie@1 180 # Tagging Specific Settings
gremmie@1 181 #######################################################################
gremmie@1 182 FORCE_LOWERCASE_TAGS = True
gremmie@1 183 MAX_TAG_LENGTH = 50
gremmie@1 184
gremmie@1 185 #######################################################################
gremmie@1 186 # GPP Specific Settings
gremmie@1 187 #######################################################################
gremmie@1 188 GPP_LOG_LEVEL = 0
bgneal@180 189 GPP_SEND_EMAIL = local_settings.GPP_SEND_EMAIL # see MAILER_ENQUEUE_MAIL
gremmie@1 190 GPP_NO_REPLY_EMAIL = 'no_reply'
gremmie@1 191 AVATAR_DIR = 'avatars'
gremmie@1 192 MAX_AVATAR_SIZE_BYTES = 2 * 1024 * 1024
gremmie@1 193 MAX_AVATAR_SIZE_PIXELS = 100
gremmie@1 194 AVATAR_DEFAULT_URL = MEDIA_URL + AVATAR_DIR + '/default.png'
bgneal@36 195
bgneal@36 196 # Donations application settings:
bgneal@66 197 DONATIONS_DEBUG = local_settings.DONATIONS_DEBUG
bgneal@35 198 DONATIONS_ITEM_NAME = 'Donation for SurfGuitar101.com'
bgneal@35 199 DONATIONS_BUSINESS = 'brian@surfguitar101.com'
bgneal@62 200 DONATIONS_BUSINESS_DEBUG = local_settings.DONATIONS_BUSINESS_DEBUG
bgneal@59 201 DONATIONS_GOAL = Decimal('100.00') # monthly goal
bgneal@35 202 DONATIONS_ANON_NAME = u'Anonymous'
bgneal@60 203 DONATIONS_ITEM_NUM = '500' # donation w/name listed
bgneal@60 204 DONATIONS_ITEM_ANON_NUM = '501' # donation listed as anonymous
bgneal@6 205
bgneal@180 206 # If MAILER_ENQUEUE_MAIL is True, all emails will be stored in the
bgneal@180 207 # mailer application's mail queue (database table). It is then expected
bgneal@180 208 # that a daemon or cron job will actually send the mail out. If
bgneal@180 209 # MAILER_ENQUEUE_MAIL is False, then email will only be sent if
bgneal@180 210 # the setting GPP_SEND_EMAIL (above) is True. In any event, emails
bgneal@180 211 # will be logged via the Python logger if the Python logger filter
bgneal@180 212 # DEBUG is active.
bgneal@180 213
bgneal@180 214 MAILER_ENQUEUE_MAIL = True
bgneal@180 215
bgneal@38 216 #######################################################################
bgneal@38 217 # Configure Logging
bgneal@38 218 #######################################################################
bgneal@38 219
bgneal@38 220 logging.basicConfig(
bgneal@38 221 filename=os.path.join(project_path, 'logs', 'gpp.log'),
bgneal@38 222 filemode='a',
bgneal@38 223 format='%(asctime)s %(levelname)s %(message)s',
bgneal@38 224 level=local_settings.LOG_LEVEL)
bgneal@38 225
bgneal@38 226
bgneal@38 227 #######################################################################
bgneal@6 228 # URL's of 3rd party Javascript and CSS files.
bgneal@6 229 # These dictionaries are used by core/templatetags/script_tags, and
bgneal@6 230 # should also be used by developers when creating form media classes.
bgneal@6 231 GPP_THIRD_PARTY_JS = {
bgneal@6 232 'jquery': (
bgneal@184 233 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js',
bgneal@6 234 ),
bgneal@6 235 'jquery-jeditable': (
bgneal@6 236 'js/jquery.jeditable.mini.js',
bgneal@6 237 ),
bgneal@6 238 'jquery-ui': (
bgneal@184 239 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js',
bgneal@6 240 ),
bgneal@6 241 'markitup': (
bgneal@6 242 'js/markitup/jquery.markitup.pack.js',
bgneal@6 243 'js/markitup/sets/markdown/set.js',
bgneal@6 244 ),
bgneal@7 245 'tiny_mce': (
bgneal@7 246 'js/tiny_mce/tiny_mce.js',
bgneal@7 247 'js/tiny_mce_init_std.js',
bgneal@7 248 ),
bgneal@6 249 }
bgneal@6 250 GPP_THIRD_PARTY_CSS = {
bgneal@6 251 'jquery-ui': (
bgneal@184 252 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/themes/redmond/jquery-ui.css',
bgneal@6 253 ),
bgneal@6 254 'markitup': (
bgneal@6 255 'js/markitup/skins/markitup/style.css',
bgneal@6 256 'js/markitup/sets/markdown/style.css',
bgneal@6 257 ),
bgneal@6 258 }
bgneal@6 259