diff --git a/rest_framework/renderers.py b/rest_framework/renderers.py index 0a34abaa0..80c3b43db 100644 --- a/rest_framework/renderers.py +++ b/rest_framework/renderers.py @@ -427,6 +427,7 @@ class BrowsableAPIRenderer(BaseRenderer): content = self.get_content(renderer, data, accepted_media_type, renderer_context) put_form = self.get_form(view, 'PUT', request) + patch_form = self.get_form(view, 'PATCH', request) post_form = self.get_form(view, 'POST', request) delete_form = self.get_form(view, 'DELETE', request) options_form = self.get_form(view, 'OPTIONS', request) @@ -448,6 +449,7 @@ class BrowsableAPIRenderer(BaseRenderer): 'allowed_methods': view.allowed_methods, 'available_formats': [renderer.format for renderer in view.renderer_classes], 'put_form': put_form, + 'patch_form': patch_form, 'post_form': post_form, 'delete_form': delete_form, 'options_form': options_form, diff --git a/rest_framework/templates/rest_framework/base.html b/rest_framework/templates/rest_framework/base.html index 092bf2e47..8ab9c5857 100644 --- a/rest_framework/templates/rest_framework/base.html +++ b/rest_framework/templates/rest_framework/base.html @@ -173,6 +173,31 @@ {% endif %} + {% if patch_form %} +
+
+
+ + {% csrf_token %} + {{ patch_form.non_field_errors }} + {% for field in patch_form %} +
+ {{ field.label_tag|add_class:"control-label" }} +
+ {{ field }} + {{ field.help_text }} + +
+
+ {% endfor %} +
+ +
+ +
+
+
+ {% endif %} {% endif %}