More heroku stuff
parent
71a12e52dd
commit
d540ffeb43
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
|
@ -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/'
|
171
settings.py
171
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 = 'olt18bexb9Yoxb0GmKEKwLwG385/zSYvCz1KRVTo'
|
||||
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 = '<a href="/">Snipt</a>'
|
||||
|
||||
# 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 = '<a href="/">Snipt</a>'
|
||||
|
||||
# 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',)
|
||||
|
|
Loading…
Reference in New Issue