Author: simon
Date: 2008-09-14 18:55:09 -0500 (Sun, 14 Sep 2008)
New Revision: 9030

Modified:
   django/trunk/docs/topics/forms/index.txt
Log:
Added documentation for looping over a form's fields in a template

Modified: django/trunk/docs/topics/forms/index.txt
===================================================================
--- django/trunk/docs/topics/forms/index.txt    2008-09-14 13:10:36 UTC (rev 
9029)
+++ django/trunk/docs/topics/forms/index.txt    2008-09-14 23:55:09 UTC (rev 
9030)
@@ -249,7 +249,45 @@
         {% endfor %}
         </ol>
     {% endif %}
+
+Looping over the form's fields
+------------------------------
+
+If you are using the similar HTML for each of your form fields, you can 
+reduce duplicate code by looping through each field in turn using
+``{% for field in form %}``::
+
+    <form action="/contact/" method="POST">
+        {% for field in form %}
+            <div class="fieldWrapper">
+                {{ field.errors }}
+                {{ field.label_tag }}: {{ field }}
+            </div>
+        {% endfor %}
+        <p><input type="submit" value="Send message"></p>
+    </form>
+
+As in the above example, {{ field.errors }} will output a 
+``<ul class="errorlist">`` by default. You can further customise the display
+of errors with a ``{% for error in field.errors %}`` loop.
+
+Within this loop, ``{{ field }}`` is an instance of BoundField. BoundField 
+also has the following attributes which can be useful in your templates:
+
+    ``{{ field.label }}``
+        The label of the field, e.g. ``Name``.
     
+    ``{{ field.label_tag }}``
+        The field's label wrapped in the appropriate HTML ``<label>`` tag, 
+        e.g. ``<label for="id_name">Name</label>``
+    
+    ``{{ field.html_name }}``
+        The name of the field that will be used in the input element's name 
+        field; this takes the form prefix in to account if it has been set.
+    
+    ``{{ field.help_text}}``
+        Any help text that has been associated with the field.
+    
 Further topics
 ==============
 


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