from django.http import HttpResponse, HttpResponseRedirect
from django.contrib.sites.models import Site
def prefered_domain(fn):
"""
Allows for a preferred domain name to be enforced on a per_view basis
if no domain is found, it fails silently.
"""
def _prefered_domain(request, site_id=1):
try:
site = Site.objects.get(id=site_id)
if request.META['HTTP_HOST'] not in site.domain:
return HttpResponseRedirect('http://%s%s' % (site.domain, request.META['PATH_INFO']) )
except Site.DoesNotExist:
pass
return fn(request)
return _prefered_domain
Comments