From b7ed6459276f6416a155f1733abee7d1ce4ec7d2 Mon Sep 17 00:00:00 2001 From: Ryan P Kilby Date: Tue, 2 Jan 2018 04:50:49 -0500 Subject: [PATCH] Disable HTML inputs for dict/list fields (#5702) --- rest_framework/renderers.py | 6 ++++++ .../rest_framework/horizontal/dict_field.html | 11 +++++++++++ .../rest_framework/horizontal/list_field.html | 11 +++++++++++ .../templates/rest_framework/inline/dict_field.html | 9 +++++++++ .../templates/rest_framework/inline/list_field.html | 9 +++++++++ .../templates/rest_framework/vertical/dict_field.html | 7 +++++++ .../templates/rest_framework/vertical/list_field.html | 7 +++++++ 7 files changed, 60 insertions(+) create mode 100644 rest_framework/templates/rest_framework/horizontal/dict_field.html create mode 100644 rest_framework/templates/rest_framework/horizontal/list_field.html create mode 100644 rest_framework/templates/rest_framework/inline/dict_field.html create mode 100644 rest_framework/templates/rest_framework/inline/list_field.html create mode 100644 rest_framework/templates/rest_framework/vertical/dict_field.html create mode 100644 rest_framework/templates/rest_framework/vertical/list_field.html diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 80a22dee5..f071e7b4d 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -320,6 +320,12 @@ class HTMLFormRenderer(BaseRenderer): serializers.ListSerializer: { 'base_template': 'list_fieldset.html' }, + serializers.ListField: { + 'base_template': 'list_field.html' + }, + serializers.DictField: { + 'base_template': 'dict_field.html' + }, serializers.FilePathField: { 'base_template': 'select.html', }, diff --git a/rest_framework/templates/rest_framework/horizontal/dict_field.html b/rest_framework/templates/rest_framework/horizontal/dict_field.html new file mode 100644 index 000000000..7c7414bc4 --- /dev/null +++ b/rest_framework/templates/rest_framework/horizontal/dict_field.html @@ -0,0 +1,11 @@ +
+ {% if field.label %} + + {% endif %} + +
+

Dictionaries are not currently supported in HTML input.

+
+
diff --git a/rest_framework/templates/rest_framework/horizontal/list_field.html b/rest_framework/templates/rest_framework/horizontal/list_field.html new file mode 100644 index 000000000..46a9b7ecd --- /dev/null +++ b/rest_framework/templates/rest_framework/horizontal/list_field.html @@ -0,0 +1,11 @@ +
+ {% if field.label %} + + {% endif %} + +
+

Lists are not currently supported in HTML input.

+
+
diff --git a/rest_framework/templates/rest_framework/inline/dict_field.html b/rest_framework/templates/rest_framework/inline/dict_field.html new file mode 100644 index 000000000..1301452b9 --- /dev/null +++ b/rest_framework/templates/rest_framework/inline/dict_field.html @@ -0,0 +1,9 @@ +
+ {% if field.label %} + + {% endif %} + +

Dictionaries are not currently supported in HTML input.

+
diff --git a/rest_framework/templates/rest_framework/inline/list_field.html b/rest_framework/templates/rest_framework/inline/list_field.html new file mode 100644 index 000000000..321d01bd1 --- /dev/null +++ b/rest_framework/templates/rest_framework/inline/list_field.html @@ -0,0 +1,9 @@ +
+ {% if field.label %} + + {% endif %} + +

Lists are not currently supported in HTML input.

+
diff --git a/rest_framework/templates/rest_framework/vertical/dict_field.html b/rest_framework/templates/rest_framework/vertical/dict_field.html new file mode 100644 index 000000000..dde803b49 --- /dev/null +++ b/rest_framework/templates/rest_framework/vertical/dict_field.html @@ -0,0 +1,7 @@ +
+ {% if field.label %} + + {% endif %} + +

Dictionaries are not currently supported in HTML input.

+
diff --git a/rest_framework/templates/rest_framework/vertical/list_field.html b/rest_framework/templates/rest_framework/vertical/list_field.html new file mode 100644 index 000000000..47a60c5d9 --- /dev/null +++ b/rest_framework/templates/rest_framework/vertical/list_field.html @@ -0,0 +1,7 @@ +
+ {% if field.label %} + + {% endif %} + +

Lists are not currently supported in HTML input.

+