diff options
| author | Simon Willison <simon@simonwillison.net> | 2008-09-14 23:55:09 +0000 |
|---|---|---|
| committer | Simon Willison <simon@simonwillison.net> | 2008-09-14 23:55:09 +0000 |
| commit | 7ac86d17c8d1d39269a4064e9fc2e96c2fd125da (patch) | |
| tree | 6ef54511c53359cce86e0d06f2b49f51398a182f /docs | |
| parent | e820b54401043b6167a1b5ed0aee637974e7b041 (diff) | |
Added documentation for looping over a form's fields in a template
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9030 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/topics/forms/index.txt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/docs/topics/forms/index.txt b/docs/topics/forms/index.txt index 5cc76bdee8..a8ae0ef922 100644 --- a/docs/topics/forms/index.txt +++ b/docs/topics/forms/index.txt @@ -249,6 +249,44 @@ over them:: {% 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 ============== |
