﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
28935	Template error raised in an {% extends %} child template shows incorrect source location on debug page	Matt Westcott	cammil	"If an error occurs in the processing of a template tag on a template that extends another via `{% extends %}`, the ""Error during template rendering"" section of the debug page incorrectly shows an excerpt from the parent template rather than the child.

To reproduce:

base.html:
{{{
{% block body %}{% endblock %}
}}}

home.html:
{{{
{% extends ""base.html"" %}

{% block body %}
    {% include ""does_not_exist"" %}
{% endblock %}
}}}

views.py:
{{{
from django.shortcuts import render

def home(request):
    return render(request, 'home.html')
}}}

The resulting error page displays:

{{{
Error during template rendering
In template /Users/matthew/Development/tbx/wagtail/debug/brokendebug/core/templates/base.html, error at line 0

does_not_exist
1	{% block body %}{% endblock %}
2	
}}}

instead of the expected error output:
{{{
Error during template rendering
In template /Users/matthew/Development/tbx/wagtail/debug/brokendebug/core/templates/home.html, error at line 4

does_not_exist
1	{% extends ""base.html"" %}
2	
3	{% block body %}
4	    {% include ""does_not_exist"" %}
5	{% endblock %}
6	
}}}

Bisecting shows that this bug was introduced in #27956 (e643ba8bcf0b1da517cbab689ac157ee031202a3), which was a fix for the ''opposite'' case: an error occurring on the parent template. (In the above test case, moving the line `{% include ""does_not_exist"" %}` to base.html turns it into a test case for #27956, and fails on pre-e643ba8bcf0b1da517cbab689ac157ee031202a3 revisions as expected.)"	Bug	closed	Template system	dev	Normal	fixed		Preston Timmons Collin Anderson pascal chambon Simone Lazzaris Min ho Kim cammil	Ready for checkin	1	0	0	0	0	0
