website/www/settings.py
Ben Sturmfels fa7f227318 Eliminate "conservancy" and "apps" subdirectories
The directory nesting is unnecessary here and confusing to navigate. I've moved
all apps to the project subdirectory, currently called "www", but soon to be
renamed "conservancy".

I've also moved manage.py to the top-level directory.
2023-10-25 12:36:39 +11:00

142 lines
4.1 KiB
Python

# Copyright 2005-2008, James Garrison
# Copyright 2010, Bradley M. Kuhn
# This software's license gives you freedom; you can copy, convey,
# propagate, redistribute, modify and/or redistribute modified versions of
# this program under the terms of the GNU Affero General Public License
# (AGPL) as published by the Free Software Foundation (FSF), either
# version 3 of the License, or (at your option) any later version of the
# AGPL published by the FSF.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
# General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program in a file in the toplevel directory called
# "AGPLv3". If not, see <http://www.gnu.org/licenses/>.
from pathlib import Path
from .djangocommonsettings import *
SITE_ID = 2
ROOT_URLCONF = 'www.urls'
FORCE_CANONICAL_HOSTNAME = False if DEBUG else 'sfconservancy.org'
ALLOWED_HOSTS = ['www.sfconservancy.org', 'sfconservancy.org']
if DEBUG:
ALLOWED_HOSTS = ['*']
REDIRECT_TABLE = {
'www.sf-conservancy.org': 'sfconservancy.org',
}
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'default': {
'format': '%(asctime)s %(levelname)s %(name)s: %(message)s',
'datefmt': '%Y-%m-%d %H:%M:%S',
},
},
'filters': {
'require_debug_false': {
'()': 'django.utils.log.RequireDebugFalse'
}
},
'handlers': {
'mail_admins': {
'level': 'ERROR',
'filters': ['require_debug_false'],
'class': 'django.utils.log.AdminEmailHandler'
},
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'default',
},
},
'loggers': {
'django.request': {
'handlers': ['mail_admins'],
'level': 'ERROR',
'propagate': True,
},
# Avoid email notification on DisallowedHost error.
'django.security.DisallowedHost': {
'handlers': ['console'],
'propagate': False,
},
},
'root': {
'handlers': ['console'],
'level': 'INFO',
},
}
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.messages',
'django.contrib.humanize',
'django.contrib.staticfiles',
'www.blog',
'www.contacts',
'www.contractpatch',
'www.events',
'www.news',
'www.staff',
# 'www.summit_registration',
'www.worldmap',
'www.supporters',
'www.fundgoal',
'www.assignment',
'www.fossy',
'www.podjango',
'www.usethesource.apps.UseTheSourceConfig',
]
DEFAULT_AUTO_FIELD = 'django.db.models.AutoField'
BASE_DIR = Path(__file__).resolve().parent
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
BASE_DIR / 'templates',
BASE_DIR / 'static',
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
'www.local_context_processors.host_url',
'www.local_context_processors.sitefundraiser',
]
}
}
]
STATIC_ROOT = BASE_DIR.parent / 'collected_static'
STATICFILES_DIRS = [
BASE_DIR / 'static',
]
MIDDLEWARE = [
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'www.middleware.ForceCanonicalHostnameMiddleware',
# 'django.middleware.doc.XViewMiddleware',
]