Skip to content

Commit dc8cc86

Browse files
author
Carlton Gibson
committed
Merge pull request #2580 from jpadilla/master
Fixes HiddenField being rendered in HTMLFormRenderer
2 parents 4f1506c + 60617f8 commit dc8cc86

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

rest_framework/renderers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,7 @@ class HTMLFormRenderer(BaseRenderer):
305305
})
306306

307307
def render_field(self, field, parent_style):
308-
if isinstance(field, serializers.HiddenField):
308+
if isinstance(field._field, serializers.HiddenField):
309309
return ''
310310

311311
style = dict(self.default_style[field])

tests/test_renderers.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@
1010
from rest_framework.compat import OrderedDict
1111
from rest_framework.response import Response
1212
from rest_framework.views import APIView
13-
from rest_framework.renderers import BaseRenderer, JSONRenderer, BrowsableAPIRenderer
13+
from rest_framework import serializers
14+
from rest_framework.renderers import (
15+
BaseRenderer, JSONRenderer, BrowsableAPIRenderer, HTMLFormRenderer
16+
)
1417
from rest_framework.settings import api_settings
1518
from rest_framework.test import APIRequestFactory
1619
from collections import MutableMapping
@@ -455,3 +458,16 @@ def test_long_form(self):
455458
renderer.compact = False
456459
data = OrderedDict([('a', 1), ('b', 2)])
457460
assert renderer.render(data) == b'{"a": 1, "b": 2}'
461+
462+
463+
class TestHiddenFieldHTMLFormRenderer(TestCase):
464+
def test_hidden_field_rendering(self):
465+
class TestSerializer(serializers.Serializer):
466+
published = serializers.HiddenField(default=True)
467+
468+
serializer = TestSerializer(data={})
469+
serializer.is_valid()
470+
renderer = HTMLFormRenderer()
471+
field = serializer['published']
472+
rendered = renderer.render_field(field, {})
473+
assert rendered == ''

0 commit comments

Comments
 (0)