local_context_processors: Add host_url.

This makes it easier for templates to generate a "single canonical URL" for
a resource, as in Open Graph metadata.
This commit is contained in:
Brett Smith 2017-11-06 13:01:10 -05:00
parent 66dbfac066
commit 4758b8bcfd

View file

@ -1,3 +1,4 @@
import conservancy.settings
from conservancy.apps.fundgoal.models import FundraisingGoal as FundraisingGoal from conservancy.apps.fundgoal.models import FundraisingGoal as FundraisingGoal
def fundgoal_lookup(fundraiser_sought): def fundgoal_lookup(fundraiser_sought):
@ -9,3 +10,11 @@ def fundgoal_lookup(fundraiser_sought):
def sitefundraiser(request): def sitefundraiser(request):
return {'sitefundgoal': fundgoal_lookup('supporterrun') } return {'sitefundgoal': fundgoal_lookup('supporterrun') }
if conservancy.settings.FORCE_CANONICAL_HOSTNAME:
_HOST_URL_VAR = {'host_url': 'https://' + conservancy.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('/')}