1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 | from django import newforms as forms
from django.newforms.forms import BoundField
class HiddenBaseForm(forms.BaseForm):
"""
Adds an ``as_hidden`` method to forms, which allows you to render
a form using ``<input type="hidden">`` elements for every field.
There is no error checking or display, as it is assumed you will
be rendering a pre-validated form for resubmission, for example -
when generating a preview of something based on a valid form's
contents, resubmitting the same form via POST as confirmation.
"""
def as_hidden(self):
"""
Returns this form rendered entirely as hidden fields.
"""
output = []
for name, field in self.fields.items():
bf = BoundField(self, field, name)
output.append(bf.as_hidden())
return u'\n'.join(output)
|
Comments