From deab5f10e1c846e29ea1c6fcc6f2bd11dd27d82c Mon Sep 17 00:00:00 2001 From: Ryan P Kilby Date: Thu, 21 Dec 2017 17:55:09 -0500 Subject: [PATCH] Disable HTML inputs for dict/list fields --- 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.

+