#17199: Base Template Loader should return the origin
---------------------------------+--------------------------------------
Reporter: Kronuz | Owner: nobody
Type: Bug | Status: closed
Component: Template system | Version: SVN
Severity: Normal | Resolution: needsinfo
Keywords: | Triage Stage: Unreviewed
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
---------------------------------+--------------------------------------
Comment (by Kronuz):
Using `TEMPLATE_DEBUG = True` (so that origin is returned, otherwise
origin is never actually returned, see `make_origin()` in
`django.template.loader`), if I do: `template, origin =
loader.find_template('mytemplate.html')`, it does not return origin (this
is because `load_template()` in `BaseLoader` explicitly returns None
instead of the origin). Same thing with the `load_template()` in the
"cached" loader. It returns the tuple `(template, None)`.
After reading that bit of documentation, I can see `load_template()`
doesn't even remotely return (as it should) a template_origin, but a
string with the `display_name` (and only if the template is not found). I
could also make a new patch that would make django consistent with said
behavior in the documentation, however, `BaseLoader.load_template()`
currently already returns `display_name` instead of the `origin`, and
simply changing that could break some things.
In my opinion, as I said first, `load_template()` should always return
origin (as stated in the documentation) and not `display_name`... and only
when the template is not found. Whether it should always return origin
(even if `TEMPLATE_DEBUG` is not enabled) is yet another dilemma, as the
documentation never states `load_template()` returns `template_origin`
*only* if `TEMPLATE_DEBUG` is enabled.
--
Ticket URL: <https://code.djangoproject.com/ticket/17199#comment:4>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en.