newforms: Added BoundField.as_hidden()
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4145 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
d506b90163
commit
4dca65cdfc
|
@ -5,7 +5,7 @@ Form classes
|
||||||
from django.utils.datastructures import SortedDict
|
from django.utils.datastructures import SortedDict
|
||||||
from django.utils.html import escape
|
from django.utils.html import escape
|
||||||
from fields import Field
|
from fields import Field
|
||||||
from widgets import TextInput, Textarea
|
from widgets import TextInput, Textarea, HiddenInput
|
||||||
from util import ErrorDict, ErrorList, ValidationError
|
from util import ErrorDict, ErrorList, ValidationError
|
||||||
|
|
||||||
NON_FIELD_ERRORS = '__all__'
|
NON_FIELD_ERRORS = '__all__'
|
||||||
|
@ -194,6 +194,12 @@ class BoundField(object):
|
||||||
"Returns a string of HTML for representing this as a <textarea>."
|
"Returns a string of HTML for representing this as a <textarea>."
|
||||||
return self.as_widget(Textarea(), attrs)
|
return self.as_widget(Textarea(), attrs)
|
||||||
|
|
||||||
|
def as_hidden(self, attrs=None):
|
||||||
|
"""
|
||||||
|
Returns a string of HTML for representing this as an <input type="hidden">.
|
||||||
|
"""
|
||||||
|
return self.as_widget(HiddenInput(), attrs)
|
||||||
|
|
||||||
def _data(self):
|
def _data(self):
|
||||||
"Returns the data for this BoundField, or None if it wasn't given."
|
"Returns the data for this BoundField, or None if it wasn't given."
|
||||||
return self._form.data.get(self._name, None)
|
return self._form.data.get(self._name, None)
|
||||||
|
|
|
@ -1436,11 +1436,14 @@ Any Field can have a Widget class passed to its constructor:
|
||||||
>>> print f['message']
|
>>> print f['message']
|
||||||
<textarea name="message"></textarea>
|
<textarea name="message"></textarea>
|
||||||
|
|
||||||
as_textarea() and as_text() are shortcuts for changing the output widget type:
|
as_textarea(), as_text() and as_hidden() are shortcuts for changing the output
|
||||||
|
widget type:
|
||||||
>>> f['subject'].as_textarea()
|
>>> f['subject'].as_textarea()
|
||||||
u'<textarea name="subject"></textarea>'
|
u'<textarea name="subject"></textarea>'
|
||||||
>>> f['message'].as_text()
|
>>> f['message'].as_text()
|
||||||
u'<input type="text" name="message" />'
|
u'<input type="text" name="message" />'
|
||||||
|
>>> f['message'].as_hidden()
|
||||||
|
u'<input type="hidden" name="message" />'
|
||||||
|
|
||||||
The 'widget' parameter to a Field can also be an instance:
|
The 'widget' parameter to a Field can also be an instance:
|
||||||
>>> class ContactForm(Form):
|
>>> class ContactForm(Form):
|
||||||
|
@ -1450,7 +1453,8 @@ The 'widget' parameter to a Field can also be an instance:
|
||||||
>>> print f['message']
|
>>> print f['message']
|
||||||
<textarea rows="80" cols="20" name="message"></textarea>
|
<textarea rows="80" cols="20" name="message"></textarea>
|
||||||
|
|
||||||
Instance-level attrs are *not* carried over to as_textarea() and as_text():
|
Instance-level attrs are *not* carried over to as_textarea(), as_text() and
|
||||||
|
as_hidden():
|
||||||
>>> f['message'].as_text()
|
>>> f['message'].as_text()
|
||||||
u'<input type="text" name="message" />'
|
u'<input type="text" name="message" />'
|
||||||
>>> f = ContactForm({'subject': 'Hello', 'message': 'I love you.'})
|
>>> f = ContactForm({'subject': 'Hello', 'message': 'I love you.'})
|
||||||
|
@ -1458,6 +1462,8 @@ u'<input type="text" name="message" />'
|
||||||
u'<textarea name="subject">Hello</textarea>'
|
u'<textarea name="subject">Hello</textarea>'
|
||||||
>>> f['message'].as_text()
|
>>> f['message'].as_text()
|
||||||
u'<input type="text" name="message" value="I love you." />'
|
u'<input type="text" name="message" value="I love you." />'
|
||||||
|
>>> f['message'].as_hidden()
|
||||||
|
u'<input type="hidden" name="message" value="I love you." />'
|
||||||
|
|
||||||
For a form with a <select>, use ChoiceField:
|
For a form with a <select>, use ChoiceField:
|
||||||
>>> class FrameworkForm(Form):
|
>>> class FrameworkForm(Form):
|
||||||
|
|
Loading…
Reference in New Issue