  
  {% if template_does_not_exist %}Template loader postmortem
  {% if postmortem %}Django tried loading these templates, in this order:
  {% for entry in postmortem %}
  Using engine {{ entry.engine.name }}:
  {% if entry.tried %}{% for attempt in entry.tried %}    * {{ attempt.0.loader_name }}: {{ attempt.0.name }} ({{ attempt.1 }})
  {% endfor %}{% else %}    This engine did not provide a list of tried templates.
  {% endif %}{% endfor %}
  {% else %}No templates were found because your 'TEMPLATES' setting is not configured.
  {% endif %}
 
</s> remove Using engine {{ entry.engine.name }}:
 </s> add Using engine {{ entry.backend.name }}: </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             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
 </s> add             self.postmortem = self.exc_value.chain or [self.exc_value] </s> remove     tried = []
 </s> add     chain = [] </s> remove     tried = []
 </s> add     chain = []
Using engine {{ entry.backend.name }}:
  
  {% if template_does_not_exist %}Template loader postmortem
  {% if postmortem %}Django tried loading these templates, in this order:
  {% for entry in postmortem %}
Using engine {{ entry.backend.name }}:
  {% if entry.tried %}{% for attempt in entry.tried %}    * {{ attempt.0.loader_name }}: {{ attempt.0.name }} ({{ attempt.1 }})
  {% endfor %}{% else %}    This engine did not provide a list of tried templates.
  {% endif %}{% endfor %}
  {% else %}No templates were found because your 'TEMPLATES' setting is not configured.
  {% endif %}
keep keep keep keep replace keep keep keep keep keep
 Fixed #24119, #24120 -- Formalized debug integration for template backends. 
django/views/debug.py