Opened 19 years ago
Closed 19 years ago
#623 closed enhancement (duplicate)
[patch] Allow ssi tag to use template dirs, making apps that use this feature much more portable
Reported by: | Owned by: | Adrian Holovaty | |
---|---|---|---|
Component: | Template system | Version: | |
Severity: | normal | Keywords: | |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
The current ssi template tag requires that files be specified using absolute paths. This makes apps much harder to redistribute, and limits the usefulness of this tag. Since a major use of this tag would be to factor out common code in templates, it makes sense to put these includes in template directories, and to allow the tag to search the TEMPLATE_DIRS for files to include.
The patch attached implements this, keeping compatibility with existing code by only looking for a template file if the path specified is relative rather than absolute.
This kind of overlaps with ticket #598, but this one could be added with no side effects for anyone else.
Attachments (1)
Change History (4)
by , 19 years ago
Attachment: | django_ticket_623_patch added |
---|
comment:1 by , 19 years ago
Summary: | Allow ssi tag to use template dirs, making apps that use this feature much more portable → [patch] Allow ssi tag to use template dirs, making apps that use this feature much more portable |
---|
comment:2 by , 19 years ago
This does have a side effect:
If someone is including a template path incorrectly right now, they will get no output.
If this was applied, they would get output.
The side effect of #598:
Someone is using a tag called include without defining it in order to generate a TemplateSyntaxError for an unknown block tag, and is relying on this behaviour.
If #598 is applied, it will either work or generate a different error.
Maybe you thought it would affect people with their own 'include' tag. But register_tag overwrites old definitions.
(Which means that in future, the way tag functions are stored should probably be changed to a nested list of dictionaries, and probably not global either ... but that is another bug.)
Both these side effects are about as ridiculous and unlikely as each other.
comment:3 by , 19 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
OK, your ticket doesn't have side effects, unless it is going to *replace* ssi, which is the impression I kind of got and what I was thinking of. I implemented this before finding your ticket, and also I didn't realise til reading your actual patch just now that your include tag uses the template system, as that isn't clear in the description.
I'm resolving this as a duplicate, since your ticket/patch seems better thought out -- I'll be putting some comments on that ticket though.
Patch to implement this ticket