Skip to content

Instantly share code, notes, and snippets.

@lardissone
Created January 11, 2012 16:05
Show Gist options
  • Save lardissone/1595363 to your computer and use it in GitHub Desktop.
Save lardissone/1595363 to your computer and use it in GitHub Desktop.
Subdomain middleware
# ...
SUBDOMAINS = {
'manager': {
'urlconf': 'urls',
'domain': 'manager.domain.com'
},
'clients': {
'urlconf': 'clients.urls',
'domain': 'clients.domain.com'
}
}
# ...
from django.conf import settings
import re
class SubdomainsMiddleware:
def process_request(self, request):
httphost = request.META['HTTP_HOST'] if 'HTTP_HOST' in request.META else ''
request.domain = httphost
request.subdomain = ''
parts = request.domain.split('.')
if len(parts) > 1 and parts[0] in settings.SUBDOMAINS.keys() and not '__debug__' in request.get_full_path():
request.subdomain = parts[0]
request.domain = settings.SUBDOMAINS[request.subdomain]['domain']
request.urlconf = settings.SUBDOMAINS[request.subdomain]['urlconf']
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment