      def get_traceback_data(self):
          """Return a dictionary containing traceback information."""
          if self.exc_type and issubclass(self.exc_type, TemplateDoesNotExist):
              self.template_does_not_exist = True
              postmortem = []
  
              # TODO: add support for multiple template engines (#24120).
              # TemplateDoesNotExist should carry all the information, including
              # the backend, rather than looping through engines.all.
              for engine in engines.all():
                  if hasattr(engine, 'engine'):
                      e = engine.engine
                  else:
                      e = engine
  
                  postmortem.append(dict(
                      engine=engine,
                      tried=[
                          entry for entry in self.exc_value.tried if
                          entry[0].loader.engine == e
                      ],
                  ))
              self.postmortem = postmortem
  
          frames = self.get_traceback_frames()
          for i, frame in enumerate(frames):
              if 'vars' in frame:
                  frame_vars = []
 
</s> remove     tried = []
 </s> add     chain = [] </s> remove     tried = []
 </s> add     chain = [] </s> remove         tried = []
 </s> add         chain = [] </s> remove             <p class="postmortem-section">Using engine <code>{{ entry.engine.name }}</code>:</p>
 </s> add             <p class="postmortem-section">Using engine <code>{{ entry.backend.name }}</code>:</p> </s> remove Using engine {{ entry.engine.name }}:
 </s> add Using engine {{ entry.backend.name }}:
            self.postmortem = self.exc_value.chain or [self.exc_value]
      def get_traceback_data(self):
          """Return a dictionary containing traceback information."""
          if self.exc_type and issubclass(self.exc_type, TemplateDoesNotExist):
              self.template_does_not_exist = True
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
            self.postmortem = self.exc_value.chain or [self.exc_value]
  
          frames = self.get_traceback_frames()
          for i, frame in enumerate(frames):
              if 'vars' in frame:
                  frame_vars = []
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Fixed #24119, #24120 -- Formalized debug integration for template backends. 
django/views/debug.py