カスタム用。urlconfをクラスにしたいときとか。普通は使わない方が良い。
# -*- coding: utf-8 -*- from django.core import urlresolvers from django.utils.functional import memoize from django.utils.importlib import import_module from django.conf import settings _resolver_cache = {} sp = settings.ROOT_URLCONF_CLASS.split('.') klass = sp[-1] mod = '.'.join(sp[:-1]) _urlconf_module = import_module(mod) _urlconf = getattr(_urlconf_module, klass)() def get_resolver(urlconf): return urlresolvers.RegexURLResolver(r'^/', _urlconf) urlresolvers.get_resolver = memoize(get_resolver, _resolver_cache, 1) class URLConfMiddleware(object): def process_request(self, request): request.urlconf = _urlconf