[Django] #24451: TemplateSyntaxError with {% cycle "Hello, how are you?" "Fine!" %}

31 views
Skip to first unread message

Django

unread,
Mar 5, 2015, 12:15:35 PM3/5/15
to django-...@googlegroups.com
#24451: TemplateSyntaxError with {% cycle "Hello, how are you?" "Fine!" %}
---------------------------------+--------------------
Reporter: CarstenF | Owner: nobody
Type: Bug | Status: new
Component: Template system | Version: 1.7
Severity: Normal | Keywords:
Triage Stage: Unreviewed | Has patch: 0
Easy pickings: 0 | UI/UX: 0
---------------------------------+--------------------
Originating thread at django-users:
https://groups.google.com/forum/#!topic/django-users/hSqSVpWMDqs

Using Django 1.7.5, there is a problem with commas in string literals in
the cycle tag, e.g. with

{{{
{% cycle "Hello, how are you?" "Fine!" %}
}}}

Please consider this example in the management shell (newlines added for
clarity):

{{{
#!python
>>> from django.template import *
>>> t = Template('''{% cycle "Hello, how are you?" "Fine!" %}''')

/home/carsten/.virtualenvs/Ze/local/lib/python2.7/site-
packages/django/template/base.py:290: RemovedInDjango18Warning: 'The
`cycle` template tag is changing to escape its arguments; the non-
autoescaping version is deprecated. Load it from the `future` tag library
to start using the new behavior.
compiled_result = compile_func(self, token)

Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/carsten/.virtualenvs/Ze/local/lib/python2.7/site-
packages/django/template/base.py", line 132, in __init__
self.nodelist = compile_string(template_string, origin)
File "/home/carsten/.virtualenvs/Ze/local/lib/python2.7/site-
packages/django/template/base.py", line 162, in compile_string
return parser.parse()
File "/home/carsten/.virtualenvs/Ze/local/lib/python2.7/site-
packages/django/template/base.py", line 290, in parse
compiled_result = compile_func(self, token)
File "/home/carsten/.virtualenvs/Ze/local/lib/python2.7/site-
packages/django/template/defaulttags.py", line 648, in cycle
values = [parser.compile_filter(arg) for arg in args[1:]]
File "/home/carsten/.virtualenvs/Ze/local/lib/python2.7/site-
packages/django/template/base.py", line 372, in compile_filter
return FilterExpression(token, self)
File "/home/carsten/.virtualenvs/Ze/local/lib/python2.7/site-
packages/django/template/base.py", line 588, in __init__
"from '%s'" % (token[upto:], token))
TemplateSyntaxError: Could not parse the remainder: 'Hello"' from
'""Hello"'
}}}

(Probably not relevant, but fyi, this happens with or without `{% load
cycle from future %}`.)

--
Ticket URL: <https://code.djangoproject.com/ticket/24451>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Mar 5, 2015, 12:30:43 PM3/5/15
to django-...@googlegroups.com
#24451: TemplateSyntaxError with {% cycle "Hello, how are you?" "Fine!" %}
---------------------------------+-------------------------------------
Reporter: CarstenF | Owner: timgraham
Type: Bug | Status: assigned

Component: Template system | Version: 1.7
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
---------------------------------+-------------------------------------
Changes (by timgraham):

* status: new => assigned
* needs_better_patch: => 0
* needs_tests: => 0
* owner: nobody => timgraham
* needs_docs: => 0
* stage: Unreviewed => Accepted


Comment:

I confirmed the suspection on the mailing list that this is caused by
those particular arguments being parsed using the legacy syntax. I'll use
this as an excuse to deprecate that syntax.

--
Ticket URL: <https://code.djangoproject.com/ticket/24451#comment:1>

Django

unread,
Mar 5, 2015, 12:45:44 PM3/5/15
to django-...@googlegroups.com
#24451: TemplateSyntaxError with {% cycle "Hello, how are you?" "Fine!" %}
---------------------------------+-------------------------------------
Reporter: CarstenF | Owner: timgraham
Type: Bug | Status: assigned
Component: Template system | Version: 1.7
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
---------------------------------+-------------------------------------
Changes (by timgraham):

* has_patch: 0 => 1


Comment:

[https://github.com/django/django/pull/4249 PR]

--
Ticket URL: <https://code.djangoproject.com/ticket/24451#comment:2>

Django

unread,
Mar 5, 2015, 3:02:46 PM3/5/15
to django-...@googlegroups.com
#24451: TemplateSyntaxError with {% cycle "Hello, how are you?" "Fine!" %}
---------------------------------+-------------------------------------
Reporter: CarstenF | Owner: timgraham
Type: Bug | Status: assigned
Component: Template system | Version: 1.7
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
---------------------------------+-------------------------------------

Comment (by collinanderson):

I agree deprecation makes sense.

--
Ticket URL: <https://code.djangoproject.com/ticket/24451#comment:3>

Django

unread,
Mar 7, 2015, 5:10:08 AM3/7/15
to django-...@googlegroups.com
#24451: TemplateSyntaxError with {% cycle "Hello, how are you?" "Fine!" %}
-------------------------------------+-------------------------------------

Reporter: CarstenF | Owner: timgraham
Type: Bug | Status: assigned
Component: Template system | Version: 1.7
Severity: Normal | Resolution:
Keywords: | Triage Stage: Ready for
| checkin

Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by bmispelon):

* stage: Accepted => Ready for checkin


Comment:

LGTM

--
Ticket URL: <https://code.djangoproject.com/ticket/24451#comment:4>

Django

unread,
Mar 7, 2015, 8:09:54 AM3/7/15
to django-...@googlegroups.com
#24451: TemplateSyntaxError with {% cycle "Hello, how are you?" "Fine!" %}
-------------------------------------+-------------------------------------
Reporter: CarstenF | Owner: timgraham
Type: Bug | Status: closed

Component: Template system | Version: 1.7
Severity: Normal | Resolution: fixed

Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by Tim Graham <timograham@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"c36b60836be9e78ab877566cc43dc03960ce944d"]:
{{{
#!CommitTicketReference repository=""
revision="c36b60836be9e78ab877566cc43dc03960ce944d"
Fixed #24451 -- Deprecated comma-separated {% cycle %} syntax.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/24451#comment:5>

Django

unread,
Aug 19, 2015, 8:39:28 AM8/19/15
to django-...@googlegroups.com
#24451: TemplateSyntaxError with {% cycle "Hello, how are you?" "Fine!" %}
-------------------------------------+-------------------------------------
Reporter: CarstenF | Owner: timgraham
Type: Bug | Status: closed
Component: Template system | Version: 1.7
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Tim Graham <timograham@…>):

In [changeset:"47201371d2805391f4dec3528cdc05f083814165" 47201371]:
{{{
#!CommitTicketReference repository=""
revision="47201371d2805391f4dec3528cdc05f083814165"
Refs #24451 -- Corrected Django version for {% cycle %} deprecation.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/24451#comment:6>

Django

unread,
Sep 23, 2015, 7:54:47 PM9/23/15
to django-...@googlegroups.com
#24451: TemplateSyntaxError with {% cycle "Hello, how are you?" "Fine!" %}
-------------------------------------+-------------------------------------
Reporter: CarstenF | Owner: timgraham
Type: Bug | Status: closed
Component: Template system | Version: 1.7
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Ready for
| checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0

Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------

Comment (by Tim Graham <timograham@…>):

In [changeset:"27b2321793c62fb2cbb00fd2830c9387a187a84f" 27b23217]:
{{{
#!CommitTicketReference repository=""
revision="27b2321793c62fb2cbb00fd2830c9387a187a84f"
Refs #24451 -- Removed comma-separated {% cycle %} syntax per deprecation
timeline.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/24451#comment:7>

Reply all
Reply to author
Forward
0 new messages