Commit dc8cc860 by Carlton Gibson

Merge pull request #2580 from jpadilla/master

Fixes HiddenField being rendered in HTMLFormRenderer
parents 4f1506c7 60617f87
......@@ -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])
......
......@@ -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 == ''
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment