title: Django - what is the difference between render(), render_to_response() and direct_to_template()?
body: <p>Whats the difference (in language a python/django noob can understand) in a view between <code>render()</code>, <code>render_to_response()</code> and <code>direct_to_template()</code>?</p>
  
  <p>e.g. from <a href="https://github.com/nathanborror/django-basic-apps" rel="noreferrer">Nathan Borror's basic apps examples</a></p>
  
  <pre><code>def comment_edit(request, object_id, template_name='comments/edit.html'):
      comment = get_object_or_404(Comment, pk=object_id, user=request.user)
      # ...
      return render(request, template_name, {
          'form': form,
          'comment': comment,
      })
  </code></pre>
  
  <p>But I've also seen</p>
  
  <pre><code>    return render_to_response(template_name, my_data_dictionary,
                context_instance=RequestContext(request))
  </code></pre>
  
  <p>And</p>
  
  <pre><code>    return direct_to_template(request, template_name, my_data_dictionary)
  </code></pre>
  
  <p>Whats the difference, what to use in any particular situation?</p>