diff options
| author | Tom Christie | 2013-10-10 17:33:39 +0100 |
|---|---|---|
| committer | Tom Christie | 2013-10-10 17:33:39 +0100 |
| commit | c3e370b168de03b963b6afcffce6bd52e1d4ab7c (patch) | |
| tree | 112a90214d1f6cac4490ab42c4a80178e28aaaa7 /rest_framework/fields.py | |
| parent | afc9e9e03868634c548178e6730a0f9964f398c0 (diff) | |
| parent | 9e29c6389529210978d58cee78e437b901f9daa2 (diff) | |
| download | django-rest-framework-c3e370b168de03b963b6afcffce6bd52e1d4ab7c.tar.bz2 | |
Merge branch 'html-form-rendering'
Diffstat (limited to 'rest_framework/fields.py')
| -rw-r--r-- | rest_framework/fields.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/rest_framework/fields.py b/rest_framework/fields.py index 0c3817b5..e23fc001 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -123,6 +123,7 @@ class Field(object): use_files = False form_field_class = forms.CharField type_label = 'field' + widget = None def __init__(self, source=None, label=None, help_text=None): self.parent = None @@ -134,9 +135,29 @@ class Field(object): if label is not None: self.label = smart_text(label) + else: + self.label = None if help_text is not None: self.help_text = strip_multiple_choice_msg(smart_text(help_text)) + else: + self.help_text = None + + self._errors = [] + self._value = None + self._name = None + + @property + def errors(self): + return self._errors + + def widget_html(self): + if not self.widget: + return '' + return self.widget.render(self._name, self._value) + + def label_tag(self): + return '<label for="%s">%s:</label>' % (self._name, self.label) def initialize(self, parent, field_name): """ @@ -757,6 +778,7 @@ class IntegerField(WritableField): type_name = 'IntegerField' type_label = 'integer' form_field_class = forms.IntegerField + empty = 0 default_error_messages = { 'invalid': _('Enter a whole number.'), @@ -788,6 +810,7 @@ class FloatField(WritableField): type_name = 'FloatField' type_label = 'float' form_field_class = forms.FloatField + empty = 0 default_error_messages = { 'invalid': _("'%s' value must be a float."), @@ -808,6 +831,7 @@ class DecimalField(WritableField): type_name = 'DecimalField' type_label = 'decimal' form_field_class = forms.DecimalField + empty = Decimal('0') default_error_messages = { 'invalid': _('Enter a number.'), |
