docs: def render_to(template=None, content_type=None):
      """
      Decorator for Django views that sends returned dict to render_to_response
      function.
  
      Template name can be decorator parameter or TEMPLATE item in returned
      dictionary.  RequestContext always added as context instance.
      If view doesn't return dict then decorator simply returns output.
  
      Parameters:
       - template: template name to use
       - content_type: content type to send in response headers
  
      Examples:
      # 1. Template name in decorator parameters
  
      @render_to('template.html')
      def foo(request):
          bar = Bar.object.all()
          return {'bar': bar}
  
      # equals to
      def foo(request):
          bar = Bar.object.all()
          return render_to_response('template.html',
                                    {'bar': bar},
                                    context_instance=RequestContext(request))
  
  
      # 2. Template name as TEMPLATE item value in return dictionary.
           if TEMPLATE is given then its value will have higher priority
           than render_to argument.
  
      @render_to()
      def foo(request, category):
          template_name = '%s.html' % category
          return {'bar': bar, 'TEMPLATE': template_name}
  
      #equals to
      def foo(request, category):
          template_name = '%s.html' % category
          return render_to_response(template_name,
                                    {'bar': bar},
                                    context_instance=RequestContext(request))
  
      """
      def renderer(function):
          @wraps(function)
          def wrapper(request, *args, **kwargs):
              output = function(request, *args, **kwargs)
              if not isinstance(output, dict):
                  return output
              tmpl = output.pop('TEMPLATE', template)
              if tmpl is None:
                  template_dir = os.path.join(*function.__module__.split('.')[:-1])
                  tmpl = os.path.join(template_dir, function.func_name + ".html")
              # Explicit version check to avoid swallowing other exceptions
              if DJANGO_VERSION >= (1, 9):
                  return render(request, tmpl, output,
                                content_type=content_type)
              else:
                  return render_to_response(tmpl, output,
                                            context_instance=RequestContext(request),
                                            content_type=content_type)
          return wrapper
      return renderer