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

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

Attachments (3)

Screen Shot 2019-09-03 at 21.53.38.png (167.9 KB ) - added by Min ho Kim 5 years ago.
Proposed outcome
Proposed outcome.png (167.9 KB ) - added by Min ho Kim 5 years ago.
Proposed outcome multiple templates.png (154.0 KB ) - added by Min ho Kim 5 years ago.

Download all attachments as: .zip

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: Unreviewed β†’ Accepted

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: assigned β†’ closed
Triage Stage: Accepted β†’ Unreviewed

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