code: def render(self, context):
          self.prepare(context)
          " Cached wrapper around self._render(). "
          if getattr(settings, 'DOUBLE_RENDER', False) and self.can_double_render:
              if 'SECOND_RENDER' not in context:
                  return self.double_render()
          key = self.get_cache_key()
          if key:
              rend = cache.get(key)
              if rend is None:
                  rend = self._render(context)
                  cache.set(key, rend, core_settings.CACHE_TIMEOUT)
          else:
              rend = self._render(context)
          return renf render(self, context):
          self.prepare(context)
          " Cached wrapper around self._render(). "
          if getattr(settings, 'DOUBLE_RENDER', False) and self.can_double_render:
              if 'SECOND_RENDER' not in context:
                  return self.double_render()
          key = self.get_cache_key()
          if key:
              rend = cache.get(key)
              if rend is None:
                  rend = self._render(context)
                  cache.set(key, rend, core_settings.CACHE_TIMEOUT)
          else:
              rend = self._render(context)
          return rend
docs: Cached wrapper around self._render().