Opened 4 months ago
Last modified 2 weeks ago
#28935 new Bug
Template error raised in an {% extends %} child template shows incorrect source location on debug page
Reported by: | Matt Westcott | Owned by: | |
---|---|---|---|
Component: | Template system | Version: | 2.0 |
Severity: | Normal | Keywords: | |
Cc: | Preston Timmons, Collin Anderson | Triage Stage: | Accepted |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
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.)
Change History (4)
comment:1 Changed 4 months ago by
Cc: | Preston Timmons added |
---|---|
Component: | Uncategorized → Template system |
Triage Stage: | Unreviewed → Accepted |
Type: | Uncategorized → Bug |
comment:2 Changed 4 months ago by
Owner: | changed from nobody to Alexander Vyushkov |
---|---|
Status: | new → assigned |
comment:3 Changed 2 months ago by
Owner: | Alexander Vyushkov deleted |
---|---|
Status: | assigned → new |
comment:4 Changed 2 weeks ago by
Cc: | Collin Anderson added |
---|