- November 25, 2008
- 0 (after 0 ratings)
From time to time I often have to work with a site that has two domain names. This can be an issue when dealing with mapping api keys so to solve this problem I whipped up a decorator function that allows a preferred domain to be enforced on a per view basis.
It wouldn't be too much to take this onto a middleware, but for my usage I just wanted a per view granularity and a decorator function suited my needs quite nicely.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
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
More like this
- Month / Year SelectDateWidget based on django SelectDateWidget by pierreben 2 weeks, 6 days ago
- Python Django CRUD Example Tutorial by tuts_station 1 month ago
- Browser-native date input field by kytta 2 months, 2 weeks ago
- Generate and render HTML Table by LLyaudet 2 months, 4 weeks ago
- My firs Snippets by GutemaG 3 months ago