Files @ 3826b6fb66e7
Branch filter:

Location: website/conservancy/local_context_processors.py

bsturmfels
Switch settings to use "the one true way" approach

The advantage of this approach is that the production and dev configurations are
in version control, so there's less opportunity for surprises.

As advocated by Jacob Kaplan-Moss (OSCON 2011) and Two Scoops of Django book.
from datetime import datetime as DateTime

from django.conf import settings

from .fundgoal.models import FundraisingGoal

SITE_FUNDGOAL = 'cy2023-end-year-match'

def fundgoal_lookup(fundraiser_sought):
    try:
        return FundraisingGoal.objects.get(fundraiser_code_name=fundraiser_sought)
    except FundraisingGoal.DoesNotExist:
        # we have no object!  do something
        return None

def sitefundraiser(request):
    return {
        'datetime_now': DateTime.now(),
        'sitefundgoal': fundgoal_lookup(SITE_FUNDGOAL),
    }

if settings.FORCE_CANONICAL_HOSTNAME:
    _HOST_URL_VAR = {'host_url': 'https://' + settings.FORCE_CANONICAL_HOSTNAME}
    def host_url(request):
        return _HOST_URL_VAR
else:
    def host_url(request):
        return {'host_url': request.build_absolute_uri('/').rstrip('/')}