diff --git a/debug_wsgi.py b/debug_wsgi.py index f9027da..1ae5ee2 100755 --- a/debug_wsgi.py +++ b/debug_wsgi.py @@ -9,8 +9,8 @@ project_dir = parent(parent(os.path.abspath(__file__))) sys.path.insert(0, project_dir) sys.path.insert(0, site_dir) -import local_settings -site.addsitedir(local_settings.VIRTUALENV_PATH) +import settings +site.addsitedir(settings.VIRTUALENV_PATH) from django.core.management import setup_environ import settings diff --git a/gunicorn.conf.py b/gunicorn.conf.py index 0180ac7..a70a933 100644 --- a/gunicorn.conf.py +++ b/gunicorn.conf.py @@ -15,7 +15,7 @@ tmp_upload_dir = None # Set path used to store temporary uploads def post_fork(server, worker): server.log.info("Worker spawned (pid: %s)" % worker.pid) - import local_settings, monitor - if local_settings.DEBUG: + import settings, monitor + if settings.DEBUG: server.log.info("Starting change monitor.") monitor.start(interval=1.0) diff --git a/gunicorn.server.conf.py b/gunicorn.server.conf.py deleted file mode 100644 index fd145ee..0000000 --- a/gunicorn.server.conf.py +++ /dev/null @@ -1,21 +0,0 @@ -bind = "unix:/tmp/gunicorn.snipt.sock" -daemon = False # Whether work in the background -debug = False # Some extra logging -logfile = ".gunicorn.log" # Name of the log file -loglevel = "info" # The level at which to log -pidfile = ".gunicorn.pid" # Path to a PID file -workers = 9 # Number of workers to initialize -umask = 0 # Umask to set when daemonizing -user = None # Change process owner to user -group = None # Change process group to group -proc_name = "gunicorn-snipt" # Change the process name -tmp_upload_dir = None # Set path used to store temporary uploads - - -def post_fork(server, worker): - server.log.info("Worker spawned (pid: %s)" % worker.pid) - - import local_settings, monitor - if local_settings.DEBUG: - server.log.info("Starting change monitor.") - monitor.start(interval=1.0) diff --git a/local_settings-template.py b/local_settings-template.py deleted file mode 100644 index 10aed55..0000000 --- a/local_settings-template.py +++ /dev/null @@ -1,22 +0,0 @@ -# Copy this file to local_settings.py and change it as needed. - -DEBUG = True -TEMPLATE_DEBUG = DEBUG - -EMAIL_BACKEND = 'postmark.backends.PostmarkBackend' -POSTMARK_API_KEY = '' - -SECRET_KEY = '' - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': '/path/to/db/', - 'USER': '', - 'PASSWORD': '', - 'HOST': '', - 'PORT': '', - } -} - -VIRTUALENV_PATH = '/path/to/virtualenv/' diff --git a/settings.py b/settings.py index 5e91a70..921d05d 100644 --- a/settings.py +++ b/settings.py @@ -1,78 +1,177 @@ -import os.path +# Django settings for sidepros project. -BASE_PATH = os.path.dirname(__file__) +import os + +DEBUG = True +TEMPLATE_DEBUG = DEBUG ADMINS = ( ('Nick Sergeant', 'nick@snipt.net'), ) -MANAGERS = ADMINS INTERNAL_IPS = ('127.0.0.1',) -LOGIN_REDIRECT_URL = '/' -LOGIN_URL = '/login/' -LOGOUT_URL = '/logout/' +MANAGERS = ADMINS +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.mysql', + 'NAME': 'snipt', + 'USER': 'root', + 'PASSWORD': '', + 'HOST': 'localhost', + 'PORT': '', + } +} + +# 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 = 'America/New_York' + +# 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 -MEDIA_ROOT = os.path.join(BASE_PATH, 'media') -MEDIA_URL = '/media/' -ADMIN_MEDIA_PREFIX = '/media/admin/' +# If you set this to False, Django will not format dates, numbers and +# calendars according to the current locale +USE_L10N = True -SESSION_COOKIE_AGE = 31556926 +# Absolute filesystem path to the directory that will hold user-uploaded files. +# Example: "/home/media/media.lawrence.com/media/" +MEDIA_ROOT = '' -TEMPLATE_CONTEXT_PROCESSORS = ( - 'django.core.context_processors.auth', - 'django.core.context_processors.debug', - 'django.core.context_processors.i18n', - 'django.core.context_processors.media', - 'django.core.context_processors.request', +# 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 = '' + +# 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 = '/Users/Nick/Code/snipt/snipt/static/' +STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage' +TODO #STATIC_URL = 'https://d36uyda506kfod.cloudfront.net/' +AWS_ACCESS_KEY_ID = 'AKIAJTFDHBCXHJLXINKQ' +AWS_SECRET_ACCESS_KEY = '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' +AWS_STORAGE_BUCKET_NAME = 'snipt' + +# URL prefix for admin static files -- CSS, JavaScript and images. +# Make sure to use a trailing slash. +# Examples: "http://foo.com/static/admin/", "/static/admin/". +ADMIN_MEDIA_PREFIX = STATIC_URL + 'grappelli/' + +# Additional locations of static files +STATICFILES_DIRS = ( + '/Users/Nick/Code/snipt/snipt/media', ) + +# 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 = 'afk&6t4l#x+9hhhpl2&3zm&me06fcu&v3*j54kxitbe8kg-19)' + +# List of callables that know how to import templates from various sources. TEMPLATE_LOADERS = ( - 'django.template.loaders.filesystem.load_template_source', - 'django.template.loaders.app_directories.load_template_source', + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', +# 'django.template.loaders.eggs.Loader', ) + MIDDLEWARE_CLASSES = ( + 'snipt.middleware.www.WWWMiddleware', 'django.middleware.cache.CacheMiddleware', - 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', - 'django.middleware.csrf.CsrfResponseMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', - 'django.middleware.locale.LocaleMiddleware', - 'django.contrib.redirects.middleware.RedirectFallbackMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', 'pagination.middleware.PaginationMiddleware', ) -ROOT_URLCONF = 'urls' +ROOT_URLCONF = 'snipt.urls' -TEMPLATE_DIRS = os.path.join(BASE_PATH, 'templates') +PROJECT_PATH = os.path.abspath(os.path.dirname(__file__)) + +TEMPLATE_DIRS = ( + os.path.join(PROJECT_PATH, 'templates') +) INSTALLED_APPS = ( + 'gunicorn', 'grappelli', - 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.sessions', 'django.contrib.sites', - 'django.contrib.redirects', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'django.contrib.admin', + 'storages', 'compressor', 'django_bcrypt', - 'south', 'pagination', + 'south', 'taggit', 'tastypie', - 'snipts', ) -# CSS compression +# 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. +# 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, + 'handlers': { + 'mail_admins': { + 'level': 'ERROR', + 'class': 'django.utils.log.AdminEmailHandler' + } + }, + 'loggers': { + 'django.request': { + 'handlers': ['mail_admins'], + 'level': 'ERROR', + 'propagate': True, + }, + } +} -COMPRESS_OUTPUT_DIR = "cache" +# Grappelli settings +GRAPPELLI_ADMIN_TITLE = 'Snipt' + +# Virtualenv +VIRTUALENV_PATH = '/Users/Nick/.virtualenvs/snipt/lib/python2.7/site-packages/' + +# Account settings +LOGIN_REDIRECT_URL = '/' +LOGIN_URL = '/login/' +LOGOUT_URL = '/logout/' + +# CSS compression +COMPRESS_OUTPUT_DIR = 'cache' COMPILER_FORMATS = { '.less': { 'binary_path':'lessc', @@ -80,19 +179,7 @@ COMPILER_FORMATS = { }, } -# Grappelli - -GRAPPELLI_ADMIN_TITLE = 'Snipt' - # User absolute URLs - ABSOLUTE_URL_OVERRIDES = { 'auth.user': lambda u: "/%s/" % u.username, } - -# Local settings and debug - -from local_settings import * - -if DEBUG: - INSTALLED_APPS += ('django_extensions',)