diff options
| author | Carlton Gibson | 2015-02-20 13:00:46 +0100 |
|---|---|---|
| committer | Carlton Gibson | 2015-02-20 13:00:46 +0100 |
| commit | dc8cc8607763fccc6eb3668ea7e2a976c08dd614 (patch) | |
| tree | b9c915ea80ae42c9a756789a7f11977e57d02ec4 | |
| parent | 4f1506c77e172bd5d03e88db898d6cc55cf5796d (diff) | |
| parent | 60617f876a78b5b81b47a63f9711c4b9eac03a09 (diff) | |
| download | django-rest-framework-dc8cc8607763fccc6eb3668ea7e2a976c08dd614.tar.bz2 | |
Merge pull request #2580 from jpadilla/master
Fixes HiddenField being rendered in HTMLFormRenderer
| -rw-r--r-- | rest_framework/renderers.py | 2 | ||||
| -rw-r--r-- | tests/test_renderers.py | 18 |
2 files changed, 18 insertions, 2 deletions
diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 339bd0d1..920d2bc4 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -305,7 +305,7 @@ class HTMLFormRenderer(BaseRenderer): }) def render_field(self, field, parent_style): - if isinstance(field, serializers.HiddenField): + if isinstance(field._field, serializers.HiddenField): return '' style = dict(self.default_style[field]) diff --git a/tests/test_renderers.py b/tests/test_renderers.py index 60a08225..cb76f683 100644 --- a/tests/test_renderers.py +++ b/tests/test_renderers.py @@ -10,7 +10,10 @@ from rest_framework import status, permissions from rest_framework.compat import OrderedDict from rest_framework.response import Response from rest_framework.views import APIView -from rest_framework.renderers import BaseRenderer, JSONRenderer, BrowsableAPIRenderer +from rest_framework import serializers +from rest_framework.renderers import ( + BaseRenderer, JSONRenderer, BrowsableAPIRenderer, HTMLFormRenderer +) from rest_framework.settings import api_settings from rest_framework.test import APIRequestFactory from collections import MutableMapping @@ -455,3 +458,16 @@ class TestJSONIndentationStyles: renderer.compact = False data = OrderedDict([('a', 1), ('b', 2)]) assert renderer.render(data) == b'{"a": 1, "b": 2}' + + +class TestHiddenFieldHTMLFormRenderer(TestCase): + def test_hidden_field_rendering(self): + class TestSerializer(serializers.Serializer): + published = serializers.HiddenField(default=True) + + serializer = TestSerializer(data={}) + serializer.is_valid() + renderer = HTMLFormRenderer() + field = serializer['published'] + rendered = renderer.render_field(field, {}) + assert rendered == '' |
