                  response=response,
              )
  
          return response
 
</s> remove Handles conditional GET operations. If the response has a ``ETag`` or
 </s> add Handles conditional GET operations. If the response doesn't have an ``ETag``
header, the middleware adds one if needed. If the response has a ``ETag`` or </s> remove     If-Modified-Since, the response is replaced by an HttpNotModified.
 </s> add     If-Modified-Since, the response is replaced by an HttpNotModified. An ETag
    header is added if needed. </s> remove from django.utils.cache import get_conditional_response
 </s> add from django.utils.cache import (
    cc_delim_re, get_conditional_response, set_response_etag,
)
    def needs_etag(self, response):
        """
        Return True if an ETag header should be added to response.
        """
        cache_control_headers = cc_delim_re.split(response.get('Cache-Control', ''))
        return all(header.lower() != 'no-store' for header in cache_control_headers)
                  response=response,
              )
  
          return response
    def needs_etag(self, response):
        """
        Return True if an ETag header should be added to response.
        """
        cache_control_headers = cc_delim_re.split(response.get('Cache-Control', ''))
        return all(header.lower() != 'no-store' for header in cache_control_headers)
keep keep keep add
 Fixed #26447 -- Deprecated settings.USE_ETAGS in favor of ConditionalGetMiddleware. 
django/middleware/http.py