Opened 5 years ago

Closed 5 years ago

#30753 closed New feature (wontfix)

Add 'Did you mean...' when TemplateDoesNotExist occurs

Reported by: Min ho Kim Owned by: Min ho Kim
Component: Template system Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: yes UI/UX: yes
Pull Requests:How to create a pull request

Description (last modified by Min ho Kim)

When 'TemplateDoesNotExist' occurs from using {% extends %} or {% include %} with wrong file names,
technical_500.html only tells you that source does not exist.

For example, use of below code...

base.html
{% block content %}
{% endblock %}

home.html
{% extends 'baseX.html' %}
{% block content %}
This is home
{% endblock %}

will give you...

TemplateDoesNotExist at /
baseX.html

I propose we add some informative message to help find the source of error by adding

Did you mean...
/Users/minhokim/Code/Django/djangodev/empty/templates/base.html
/Users/minhokim/Code/Django/djangodev/empty/templates2/baseXX.html

Change History (9)

comment:1 by Min ho Kim, 5 years ago

Owner: changed from nobody to Min ho Kim

by Min ho Kim, 5 years ago

Proposed outcome

by Min ho Kim, 5 years ago

Attachment: Proposed outcome.png added

comment:2 by Min ho Kim, 5 years ago

Description: modified (diff)

by Min ho Kim, 5 years ago

comment:3 by Carlton Gibson, 5 years ago

Triage Stage: UnreviewedAccepted

You've assigned to yourself so I presume there's a patch incoming? (Super 🙂)

Assuming it's not too complicated, this sounds like a nice addition... — very happy to have a look and see.

Thanks for the input!

comment:4 by Mariusz Felisiak, 5 years ago

I'm not sure to be honest. List of templates can be really big and in a consequence difflib.get_close_matches() would be time-consuming. I would prefer to get 500 page quick instead of waiting longer for a hint that may not be really helpful.

comment:5 by Min ho Kim, 5 years ago

Thanks felixxm for your input.
If this feature request is not accepted/agreed by two of you, I'm happy to have it closed.

comment:6 by Carlton Gibson, 5 years ago

Resolution: wontfix
Status: assignedclosed
Triage Stage: AcceptedUnreviewed

OK, let's close it.

  • Not sure how often folks misspell templates, and...
  • If we have hundreds/thousands of templates, it could be slow, so...
  • We'd need a way of turning it off, which probably isn't worth the complexity.

(If someone wants to show that it's not slow, even with large numbers of templates, then, well, we could think about it then...)

Thanks both.

Note: See TracTickets for help on using tickets.
Back to Top