title: Do Django templates get cached in browser?
body: <p>Let's say we have a request made in Django  which renders <code>my_template.html</code>  and the context of <code>{foo: bar}</code> </p>
  
  <pre><code> return render(request, "my_template.html", {foo: bar})
  </code></pre>
  
  <p>Now based on the user activity foo and bar change. Let's say if a user has made his first request. Django will return the template and the corresponding <code>{foo: bar}</code> based on user activity. Let's say if the user had made a second request with a different activity. </p>
  
  <p>Will Django send <code>my_template.html</code> from the server to the browser or will only the changed <code>context</code> be sent to the browser? Does the template get cached in the browser?</p>
  
  <blockquote>
    <p>Case 1:</p>
  </blockquote>
  
  <p>If the template gets cached in a browser if a code with some changes is deployed does it reflect in the client's browser? Does this work in the way where the md5 hash of both the templates is compared if they are not in sync then the template is downloaded from Django server?</p>
  
  <blockquote>
    <p>Case2</p>
  </blockquote>
  
  <p>If the template is rendered every time for every request then does that mean the bandwidth usage is not optimistic?</p>
  
  <p>I read that in a node and angular the javascript bundles is cached in clients browser and only data(<code>context {foo: bar}</code>) calls are made to a server so the bandwidth usage is better and loading is faster is this true.</p>