annotate gpp/settings.py @ 6:b6263ac72052

Use DRY principle to manage third party javascript libraries. Created script_tags template tags to generate the correct link and script tags for 3rd party libraries. The settings.py file is the only place where the full path name is specified.
author Brian Neal <bgneal@gmail.com>
date Sat, 11 Apr 2009 22:50:56 +0000
parents dbd703f7d63a
children ca66189c7c44
rev   line source
gremmie@1 1 # Django settings for gpp project.
gremmie@1 2
gremmie@1 3 import os
gremmie@1 4 import platform
gremmie@1 5 import local_settings
gremmie@1 6 project_path = os.path.abspath(os.path.split(__file__)[0])
gremmie@1 7
gremmie@1 8 DEBUG = local_settings.DEBUG
gremmie@1 9 TEMPLATE_DEBUG = DEBUG
gremmie@1 10
gremmie@1 11 ADMINS = (
gremmie@1 12 ('Brian Neal', 'admin@surfguitar101.com'),
gremmie@1 13 )
gremmie@1 14
gremmie@1 15 AUTH_PROFILE_MODULE = 'bio.userprofile'
gremmie@1 16
gremmie@1 17 MANAGERS = ADMINS
gremmie@1 18
gremmie@1 19 DATABASE_ENGINE = local_settings.DATABASE_ENGINE
gremmie@1 20 DATABASE_NAME = local_settings.DATABASE_NAME
gremmie@1 21 DATABASE_USER = local_settings.DATABASE_USER
gremmie@1 22 DATABASE_PASSWORD = local_settings.DATABASE_PASSWORD
gremmie@1 23 DATABASE_HOST = local_settings.DATABASE_HOST
gremmie@1 24 DATABASE_PORT = local_settings.DATABASE_PORT
gremmie@1 25
gremmie@1 26 INTERNAL_IPS = local_settings.INTERNAL_IPS
gremmie@1 27
gremmie@1 28 # Local time zone for this installation. Choices can be found here:
gremmie@1 29 # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
gremmie@1 30 # although not all choices may be available on all operating systems.
gremmie@1 31 # If running in a Windows environment this must be set to the same as your
gremmie@1 32 # system time zone.
gremmie@1 33 TIME_ZONE = local_settings.TIME_ZONE
gremmie@1 34
gremmie@1 35 # Language code for this installation. All choices can be found here:
gremmie@1 36 # http://www.i18nguy.com/unicode/language-identifiers.html
gremmie@1 37 LANGUAGE_CODE = 'en-us'
gremmie@1 38
gremmie@1 39 SITE_ID = local_settings.SITE_ID
gremmie@1 40
gremmie@1 41 # If you set this to False, Django will make some optimizations so as not
gremmie@1 42 # to load the internationalization machinery.
gremmie@1 43 USE_I18N = False
gremmie@1 44
gremmie@1 45 # Absolute path to the directory that holds media.
gremmie@1 46 # Example: "/home/media/media.lawrence.com/"
gremmie@1 47 MEDIA_ROOT = local_settings.MEDIA_ROOT
gremmie@1 48
gremmie@1 49 # URL that handles the media served from MEDIA_ROOT. Make sure to use a
gremmie@1 50 # trailing slash if there is a path component (optional in other cases).
gremmie@1 51 # Examples: "http://media.lawrence.com", "http://example.com/media/"
gremmie@1 52 MEDIA_URL = local_settings.MEDIA_URL
gremmie@1 53
gremmie@1 54 # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
gremmie@1 55 # trailing slash.
gremmie@1 56 # Examples: "http://foo.com/media/", "/media/".
gremmie@1 57 ADMIN_MEDIA_PREFIX = local_settings.ADMIN_MEDIA_PREFIX
gremmie@1 58
gremmie@1 59 # Make this unique, and don't share it with anybody.
gremmie@1 60 SECRET_KEY = local_settings.SECRET_KEY
gremmie@1 61
gremmie@1 62 # List of callables that know how to import templates from various sources.
gremmie@1 63 TEMPLATE_LOADERS = (
gremmie@1 64 'django.template.loaders.filesystem.load_template_source',
gremmie@1 65 'django.template.loaders.app_directories.load_template_source',
gremmie@1 66 # 'django.template.loaders.eggs.load_template_source',
gremmie@1 67 )
gremmie@1 68
gremmie@1 69 MIDDLEWARE_CLASSES = (
gremmie@1 70 'django.middleware.common.CommonMiddleware',
gremmie@1 71 'django.contrib.sessions.middleware.SessionMiddleware',
gremmie@1 72 'django.contrib.auth.middleware.AuthenticationMiddleware',
gremmie@1 73 )
gremmie@1 74
gremmie@1 75 ROOT_URLCONF = 'gpp.urls'
gremmie@1 76
gremmie@1 77 TEMPLATE_DIRS = (
gremmie@1 78 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
gremmie@1 79 # Always use forward slashes, even on Windows.
gremmie@1 80 # Don't forget to use absolute paths, not relative paths.
gremmie@1 81 os.path.join(project_path, 'templates'),
gremmie@1 82 )
gremmie@1 83
gremmie@1 84 TEMPLATE_CONTEXT_PROCESSORS = (
gremmie@1 85 "django.core.context_processors.auth",
gremmie@1 86 "django.core.context_processors.debug",
gremmie@1 87 "django.core.context_processors.request",
gremmie@1 88 "django.core.context_processors.media"
gremmie@1 89 )
gremmie@1 90
gremmie@1 91 INSTALLED_APPS = (
gremmie@1 92 'django.contrib.admin',
gremmie@1 93 'django.contrib.admindocs',
gremmie@1 94 'django.contrib.auth',
gremmie@1 95 'django.contrib.contenttypes',
gremmie@1 96 'django.contrib.sessions',
gremmie@1 97 'django.contrib.sites',
gremmie@1 98 'django.contrib.markup',
gremmie@1 99 'tagging',
gremmie@1 100 'accounts',
gremmie@1 101 'bio',
gremmie@1 102 'bulletins',
gremmie@1 103 'comments',
gremmie@1 104 'contact',
gremmie@1 105 'core',
gremmie@1 106 'downloads',
gremmie@1 107 'gcalendar',
gremmie@1 108 'irc',
gremmie@1 109 'legal',
gremmie@1 110 'membermap',
gremmie@1 111 'messages',
gremmie@1 112 'news',
gremmie@1 113 'podcast',
gremmie@1 114 'polls',
gremmie@1 115 'potd',
gremmie@1 116 'shoutbox',
gremmie@1 117 'smiley',
gremmie@1 118 'weblinks',
gremmie@1 119 )
gremmie@1 120
gremmie@1 121 LOGIN_URL = '/accounts/login/'
gremmie@1 122 LOGIN_REDIRECT_URL = '/profile/me/'
gremmie@1 123 LOGOUT_URL = '/accounts/logout/'
gremmie@1 124
gremmie@1 125 FILE_UPLOAD_PERMISSIONS = 0640
gremmie@1 126
gremmie@1 127 #######################################################################
gremmie@1 128 # Tagging Specific Settings
gremmie@1 129 #######################################################################
gremmie@1 130 FORCE_LOWERCASE_TAGS = True
gremmie@1 131 MAX_TAG_LENGTH = 50
gremmie@1 132
gremmie@1 133 #######################################################################
gremmie@1 134 # GPP Specific Settings
gremmie@1 135 #######################################################################
gremmie@1 136 GPP_LOG_LEVEL = 0
gremmie@1 137 GPP_SEND_EMAIL = False
gremmie@1 138 GPP_NO_REPLY_EMAIL = 'no_reply'
gremmie@1 139 AVATAR_DIR = 'avatars'
gremmie@1 140 MAX_AVATAR_SIZE_BYTES = 2 * 1024 * 1024
gremmie@1 141 MAX_AVATAR_SIZE_PIXELS = 100
gremmie@1 142 AVATAR_DEFAULT_URL = MEDIA_URL + AVATAR_DIR + '/default.png'
bgneal@6 143
bgneal@6 144 # URL's of 3rd party Javascript and CSS files.
bgneal@6 145 # These dictionaries are used by core/templatetags/script_tags, and
bgneal@6 146 # should also be used by developers when creating form media classes.
bgneal@6 147 GPP_THIRD_PARTY_JS = {
bgneal@6 148 'jquery': (
bgneal@6 149 'http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js',
bgneal@6 150 ),
bgneal@6 151 'jquery-autocomplete': (
bgneal@6 152 'js/jquery-autocomplete/lib/jquery.js',
bgneal@6 153 'js/jquery-autocomplete/lib/jquery.bgiframe.min.js',
bgneal@6 154 'js/jquery-autocomplete/lib/jquery.ajaxQueue.js',
bgneal@6 155 'js/jquery-autocomplete/jquery.autocomplete.js',
bgneal@6 156 ),
bgneal@6 157 'jquery-jeditable': (
bgneal@6 158 'js/jquery.jeditable.mini.js',
bgneal@6 159 ),
bgneal@6 160 'jquery-ui': (
bgneal@6 161 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.0/jquery-ui.js',
bgneal@6 162 ),
bgneal@6 163 'markitup': (
bgneal@6 164 'js/markitup/jquery.markitup.pack.js',
bgneal@6 165 'js/markitup/sets/markdown/set.js',
bgneal@6 166 ),
bgneal@6 167 }
bgneal@6 168 GPP_THIRD_PARTY_CSS = {
bgneal@6 169 'jquery-ui': (
bgneal@6 170 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.0/themes/redmond/jquery-ui.css',
bgneal@6 171 ),
bgneal@6 172 'jquery-autocomplete': (
bgneal@6 173 'js/jquery-autocomplete/jquery.autocomplete.css',
bgneal@6 174 ),
bgneal@6 175 'markitup': (
bgneal@6 176 'js/markitup/skins/markitup/style.css',
bgneal@6 177 'js/markitup/sets/markdown/style.css',
bgneal@6 178 ),
bgneal@6 179 }
bgneal@6 180
bgneal@6 181 # vim: ts=4 sw=4