Files @ 531a97a3c9af
Branch filter:

Location: website/www/settings.py

bsturmfels
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.
# 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',
]