mirror of https://github.com/django/django.git
Edited docs/topics/forms/index.txt changes from [9569] and fixed a typo in the visible_fields() docstring
git-svn-id: http://code.djangoproject.com/svn/django/trunk@9592 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
33c0f0de67
commit
352efd1893
|
@ -305,15 +305,15 @@ class BaseForm(StrAndUnicode):
|
|||
|
||||
def hidden_fields(self):
|
||||
"""
|
||||
Returns a list of all the BoundField objects that correspond to hidden
|
||||
fields in the HTML output. Useful for manual form layout in templates.
|
||||
Returns a list of all the BoundField objects that are hidden fields.
|
||||
Useful for manual form layout in templates.
|
||||
"""
|
||||
return [field for field in self if field.is_hidden]
|
||||
|
||||
def visible_fields(self):
|
||||
"""
|
||||
Returns a lits of BoundField objects that do not correspond to hidden
|
||||
fields. The opposite of the hidden_fields() method.
|
||||
Returns a list of BoundField objects that aren't hidden fields.
|
||||
The opposite of the hidden_fields() method.
|
||||
"""
|
||||
return [field for field in self if not field.is_hidden]
|
||||
|
||||
|
|
|
@ -304,16 +304,17 @@ templates:
|
|||
Looping over hidden and visible fields
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you are manually laying out a form in a template, you will often want to
|
||||
work with any hidden fields in a single loop and then treat the visible fields
|
||||
differently. For example, since hidden fields don't display anything, putting
|
||||
their error messages "next to" the field isn't going to be very clear to the
|
||||
reader. So you need to handle errors for those fields a bit differently.
|
||||
If you're manually laying out a form in a template, as opposed to relying on
|
||||
Django's default form layout, you might want to treat ``<input type="hidden">``
|
||||
fields differently than non-hidden fields. For example, because hidden fields
|
||||
don't display anything, putting error messages "next to" the field could cause
|
||||
confusion for your users -- so errors for those fields should be handled
|
||||
differently.
|
||||
|
||||
Django provides two methods on a form that allow you to loop over the hidden
|
||||
and visible fields independently: ``hidden_fields()`` and
|
||||
``visible_fields()``. In a template, you might use these like this (this is a
|
||||
modification of an earlier example)::
|
||||
``visible_fields()``. Here's a modification of an earlier example that uses
|
||||
these two methods::
|
||||
|
||||
<form action="/contact/" method="POST">
|
||||
{% for field in form.visible_fields %}
|
||||
|
@ -336,7 +337,7 @@ modification of an earlier example)::
|
|||
This example does not handle any errors in the hidden fields. Usually, an
|
||||
error in a hidden field is a sign of form tampering, since normal form
|
||||
interaction won't alter them. However, you could easily insert some error
|
||||
displays for those form errors as well.
|
||||
displays for those form errors, as well.
|
||||
|
||||
.. versionadded:: 1.1
|
||||
The ``hidden_fields`` and ``visible_fields`` methods are new in Django
|
||||
|
|
Loading…
Reference in New Issue