From bfab9d62ee815baac34b1872676ad26af91c7d94 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Fri, 5 Dec 2008 04:22:00 +0000 Subject: Added a way to iterate over hidden/visible fields in a form. Useful for manual form layout. git-svn-id: http://code.djangoproject.com/svn/django/trunk@9569 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/forms/forms.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'django/forms') diff --git a/django/forms/forms.py b/django/forms/forms.py index e28479fb8b..29c4f31115 100644 --- a/django/forms/forms.py +++ b/django/forms/forms.py @@ -303,6 +303,20 @@ class BaseForm(StrAndUnicode): return True return False + 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. + """ + 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. + """ + return [field for field in self if not field.is_hidden] + class Form(BaseForm): "A collection of Fields, plus their associated data." # This is a separate class from BaseForm in order to abstract the way @@ -363,7 +377,7 @@ class BoundField(StrAndUnicode): else: name = self.html_initial_name return widget.render(name, data, attrs=attrs) - + def as_text(self, attrs=None, **kwargs): """ Returns a string of HTML for representing this as an . -- cgit v1.3