Redirects to the default site (from Django's Sites contrib app), specified by the SITE_ID
setting.
That's for example useful if you configured your webserver to handle multiple domains with the same virtual host and want to make sure every requests is then redirected to the right domain.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from django.contrib.sites.models import Site
from django.http import HttpResponsePermanentRedirect
from django.conf import settings
class SiteRedirectMiddleware(object):
def process_request(self, request):
host = request.get_host()
site = Site.objects.get_current()
if site.domain in host:
return None
return HttpResponsePermanentRedirect('%s://%s%s' % (
request.is_secure() and 'https' or 'http',
site.domain,
request.get_full_path(),
))
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 3 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
- Help text hyperlinks by sa2812 1 year, 7 months ago
Comments
Please login first before commenting.