From fec7c4b45812d22423e73ec3ab801857a55d7340 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Thu, 2 Oct 2014 18:13:15 +0100 Subject: [PATCH] Browsable API tweaks --- rest_framework/fields.py | 5 ++--- rest_framework/relations.py | 1 + rest_framework/serializers.py | 1 + .../static/rest_framework/css/bootstrap-tweaks.css | 2 +- rest_framework/static/rest_framework/css/default.css | 3 +-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/rest_framework/fields.py b/rest_framework/fields.py index c794963e1..3f22660cc 100644 --- a/rest_framework/fields.py +++ b/rest_framework/fields.py @@ -106,7 +106,7 @@ class Field(object): 'null': _('This field may not be null.') } default_validators = [] - default_empty_html = None + default_empty_html = empty initial = None def __init__(self, read_only=False, write_only=False, @@ -375,7 +375,6 @@ class NullBooleanField(Field): default_error_messages = { 'invalid': _('`{input}` is not a valid boolean.') } - default_empty_html = None initial = None TRUE_VALUES = set(('t', 'T', 'true', 'True', 'TRUE', '1', 1, True)) FALSE_VALUES = set(('f', 'F', 'false', 'False', 'FALSE', '0', 0, 0.0, False)) @@ -411,7 +410,6 @@ class CharField(Field): default_error_messages = { 'blank': _('This field may not be blank.') } - default_empty_html = '' initial = '' def __init__(self, **kwargs): @@ -852,6 +850,7 @@ class MultipleChoiceField(ChoiceField): 'invalid_choice': _('`{input}` is not a valid choice.'), 'not_a_list': _('Expected a list of items but got type `{input_type}`') } + default_empty_html = [] def to_internal_value(self, data): if isinstance(data, type('')) or not hasattr(data, '__iter__'): diff --git a/rest_framework/relations.py b/rest_framework/relations.py index 988b9ede4..4f971917a 100644 --- a/rest_framework/relations.py +++ b/rest_framework/relations.py @@ -249,6 +249,7 @@ class ManyRelation(Field): You shouldn't need to be using this class directly yourself. """ initial = [] + default_empty_html = [] def __init__(self, child_relation=None, *args, **kwargs): self.child_relation = child_relation diff --git a/rest_framework/serializers.py b/rest_framework/serializers.py index 0f24ed402..21cb7ea27 100644 --- a/rest_framework/serializers.py +++ b/rest_framework/serializers.py @@ -254,6 +254,7 @@ class Serializer(BaseSerializer): return ReturnDict([ (field_name, field.get_value(self._initial_data)) for field_name, field in self.fields.items() + if field.get_value(self._initial_data) is not empty ], serializer=self) #return self.to_representation(self._initial_data) diff --git a/rest_framework/static/rest_framework/css/bootstrap-tweaks.css b/rest_framework/static/rest_framework/css/bootstrap-tweaks.css index 84389b1d1..6a37cae23 100644 --- a/rest_framework/static/rest_framework/css/bootstrap-tweaks.css +++ b/rest_framework/static/rest_framework/css/bootstrap-tweaks.css @@ -173,7 +173,7 @@ footer a:hover { .page-header { border-bottom: none; padding-bottom: 0px; - margin-bottom: 20px; + margin: 0; } /* custom general page styles */ diff --git a/rest_framework/static/rest_framework/css/default.css b/rest_framework/static/rest_framework/css/default.css index 461cdfe5c..82c6033b6 100644 --- a/rest_framework/static/rest_framework/css/default.css +++ b/rest_framework/static/rest_framework/css/default.css @@ -33,7 +33,7 @@ h2, h3 { } ul.breadcrumb { - margin: 80px 0 0 0; + margin: 70px 0 0 0; } form select, form input, form textarea { @@ -67,5 +67,4 @@ pre { .page-header { border-bottom: none; padding-bottom: 0px; - margin-bottom: 20px; }