Author: ubernostrum
Date: 2008-09-30 17:25:41 -0500 (Tue, 30 Sep 2008)
New Revision: 9104

Modified:
   django/branches/releases/1.0.X/docs/ref/templates/builtins.txt
Log:
[1.0.X] Port Adrian's doc fix from [9101] and publicly shame him for forgetting 
to apply it here.


Modified: django/branches/releases/1.0.X/docs/ref/templates/builtins.txt
===================================================================
--- django/branches/releases/1.0.X/docs/ref/templates/builtins.txt      
2008-09-30 17:50:44 UTC (rev 9103)
+++ django/branches/releases/1.0.X/docs/ref/templates/builtins.txt      
2008-09-30 22:25:41 UTC (rev 9104)
@@ -59,33 +59,58 @@
 .. versionchanged:: 1.0
     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::
 
     {% for o in some_list %}
-        <tr class="{% cycle 'row1' 'row2' rowvar %}">
+        <tr class="{% cycle 'row1' 'row2' %}">
             ...
         </tr>
     {% endfor %}
 
-Outside of a loop, give the values a unique name the first time you call it,
-then use that name each successive time through::
+You can use variables, too. For example, if you have two template variables,
+``rowvalue1`` and ``rowvalue2``, you can cycle between their values like this::
 
-        <tr class="{% cycle 'row1' 'row2' rowvar as rowcolors %}">...</tr>
-        <tr class="{% cycle rowcolors %}">...</tr>
-        <tr class="{% cycle rowcolors %}">...</tr>
+    {% for o in some_list %}
+        <tr class="{% cycle rowvalue1 rowvalue2 %}">
+            ...
+        </tr>
+    {% endfor %}
 
-You can use any number of values, separated by spaces. Values enclosed in
-single (') or double quotes (") are treated as string literals, while values
-without quotes are assumed to refer to context variables.
+Yes, you can mix variables and strings::
 
-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 %}
 
-In this syntax, each value will be interpreted as literal text. The
-comma-based syntax exists for backwards-compatibility, and should not be
-used for new projects.
+In this syntax, each value gets interpreted as a literal string, and there's no
+way to specify variable values. Or literal commas. Or spaces. Did we mention
+you shouldn't use this syntax in any new projects?
 
 .. templatetag:: debug
 


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to