title: Different ways of calling render() in Django
body: <p>I am having some difficulty understanding how render() works. I have read posts about the functionality of the function, however still have unanswered questions. </p>
  
  <p>Reading about it in the Django Docs, and looking at the source, it is not a method pertaining to any class. Instead, it is a function just like many others, and one that takes several arguments (request, template_name, etc).</p>
  
  <p>Though, in the <a href="http://gsl.mit.edu/media/programs/south-africa-summer-2015/materials/djangobook.pdf" rel="nofollow noreferrer">Django Book</a>, it is stated as a method you can call on a template object. That is, you can instantiate an object, and immediately call the render method on that object with some context. I have previously used it without specifying any template name, merely calling it on a template object with some context, as previously described.</p>
  
  <p>Why do the Docs describe it as a free-standing function, not belonging to a class, when it can be called on a template object like as if it was a method of a template class? Why don't I find a template class anywhere? What am I missing?</p>