from django.utils.functional import SimpleLazyObject from .dynamicsettings import DynamicSettings def dynamic_settings_middleware(get_response): """Sets request.settings attribute with DynamicSettings.""" def middleware(request): def get_dynamic_settings(): return DynamicSettings(request.cache_versions) request.settings = SimpleLazyObject(get_dynamic_settings) return get_response(request) return middleware