middleware.py 464 B

12345678910111213141516
  1. from django.utils.functional import SimpleLazyObject
  2. from .dynamicsettings import DynamicSettings
  3. def dynamic_settings_middleware(get_response):
  4. """Sets request.settings attribute with DynamicSettings."""
  5. def middleware(request):
  6. def get_dynamic_settings():
  7. return DynamicSettings(request.cache_versions)
  8. request.settings = SimpleLazyObject(get_dynamic_settings)
  9. return get_response(request)
  10. return middleware