Opened 17 years ago
Last modified 15 years ago
#5971 closed
django.template.TokenParser inconsistent with parsing filters — at Version 2
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | Template system | Version: | dev |
Severity: | Keywords: | template filter | |
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
django.template.TokenParser is inconsistent
when parsing filters that follow constant strings or variables.
Meaning that:
{% tag thevar|filter sometag %}
will produce:
self.value() = "thevar|filter" self.tag() = "sometag"
However:
{% tag "a value"|filter sometag %}
will produce:
self.value() = "a value" self.tag() = "|filter" self.tag() = "sometag"
This does not seem like correct behaviour...
I made a very simple patch for this, thus the outcome of the above:
{% tag "a value"|filter sometag %}
will produce:
value = "a value"|filter tag = sometag
So now we can simply pass the "value" into a FilterExpression to parse the filters...
PS: I had trouble naming an internal method, feel free to complain about the name ;)
Change History (3)
by , 17 years ago
Attachment: | tokenparser_filter_fix.diff added |
---|
comment:1 by , 17 years ago
django.template.TokenParser is inconsistent when parsing filters that follow constant strings or variables.
Meaning that {% tag thevar|filter sometag %} will produce:
self.value() = "thevar|filter" self.tag() = "sometag"
However {% tag "a value"|filter sometag %} will produce:
self.value() = "a value" self.tag() = "|filter" self.tag() = "sometag"
This does not seem like correct behaviour... I made a very simple patch for this, thus the outcome of the above:
{% tag "a value"|filter sometag %} will produce: self.value() = "a value"|filter self.tag() = sometag
So now we can simply pass the "value" into a FilterExpression? to parse the filters...
See this thread:
http://groups.google.com/group/django-developers/browse_thread/thread/c90b6e29d20724ca
PS: I should learn to use the preview button.
PPS: The self is from the perspective of the implementee of the TokenParser class.
comment:2 by , 17 years ago
Description: | modified (diff) |
---|---|
Triage Stage: | Unreviewed → Accepted |
Fixed description formatting.
The patch