mirror of https://github.com/django/django.git
Rewrote bits of the cycle tag documentation, which was confusing -- it implied 'rowvar' was required
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9101 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
37ee86b7ee
commit
97087962b1
|
@ -59,33 +59,58 @@ cycle
|
||||||
.. versionchanged:: 1.0
|
.. versionchanged:: 1.0
|
||||||
Cycle among the given strings or variables each time this tag is encountered.
|
Cycle among the given strings or variables each time this tag is encountered.
|
||||||
|
|
||||||
Within a loop, cycles among the given strings/variables each time through the
|
Within a loop, cycles among the given strings each time through the
|
||||||
loop::
|
loop::
|
||||||
|
|
||||||
{% for o in some_list %}
|
{% for o in some_list %}
|
||||||
<tr class="{% cycle 'row1' 'row2' rowvar %}">
|
<tr class="{% cycle 'row1' 'row2' %}">
|
||||||
...
|
...
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
Outside of a loop, give the values a unique name the first time you call it,
|
You can use variables, too. For example, if you have two template variables,
|
||||||
then use that name each successive time through::
|
``rowvalue1`` and ``rowvalue2``, you can cycle between their values like this::
|
||||||
|
|
||||||
<tr class="{% cycle 'row1' 'row2' rowvar as rowcolors %}">...</tr>
|
{% for o in some_list %}
|
||||||
<tr class="{% cycle rowcolors %}">...</tr>
|
<tr class="{% cycle rowvalue1 rowvalue2 %}">
|
||||||
<tr class="{% cycle rowcolors %}">...</tr>
|
...
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
You can use any number of values, separated by spaces. Values enclosed in
|
Yes, you can mix variables and strings::
|
||||||
single (') or double quotes (") are treated as string literals, while values
|
|
||||||
without quotes are assumed to refer to context variables.
|
|
||||||
|
|
||||||
You can also separate values with commas::
|
{% for o in some_list %}
|
||||||
|
<tr class="{% cycle 'row1' rowvalue2 'row3' %}">
|
||||||
|
...
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
In some cases you might want to refer to the next value of a cycle from
|
||||||
|
outside of a loop. To do this, just give the ``{% cycle %}`` tag a name, using
|
||||||
|
"as", like this::
|
||||||
|
|
||||||
|
{% cycle 'row1' 'row2' as rowcolors %}
|
||||||
|
|
||||||
|
From then on, you can insert the current value of the cycle wherever you'd like
|
||||||
|
in your template::
|
||||||
|
|
||||||
|
<tr class="{% cycle rowcolors %}">...</tr>
|
||||||
|
<tr class="{% cycle rowcolors %}">...</tr>
|
||||||
|
|
||||||
|
You can use any number of values in a ``{% cycle %}`` tag, separated by spaces.
|
||||||
|
Values enclosed in single (``'``) or double quotes (``"``) are treated as
|
||||||
|
string literals, while values without quotes are treated as template variables.
|
||||||
|
|
||||||
|
For backwards compatibility, the ``{% cycle %}`` tag supports the much inferior
|
||||||
|
old syntax from previous Django versions. You shouldn't use this in any new
|
||||||
|
projects, but for the sake of the people who are still using it, here's what it
|
||||||
|
looks like::
|
||||||
|
|
||||||
{% cycle row1,row2,row3 %}
|
{% cycle row1,row2,row3 %}
|
||||||
|
|
||||||
In this syntax, each value will be interpreted as literal text. The
|
In this syntax, each value gets interpreted as a literal string, and there's no
|
||||||
comma-based syntax exists for backwards-compatibility, and should not be
|
way to specify variable values. Or literal commas. Or spaces. Did we mention
|
||||||
used for new projects.
|
you shouldn't use this syntax in any new projects?
|
||||||
|
|
||||||
.. templatetag:: debug
|
.. templatetag:: debug
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue