Commit 6ec96d0b by Tom Christie

Resolve PUT and POST buttons in browsable API

parent 9c6bead8
...@@ -429,7 +429,10 @@ class HTMLFormRenderer(BaseRenderer): ...@@ -429,7 +429,10 @@ class HTMLFormRenderer(BaseRenderer):
style['base_template'] = self.base_template style['base_template'] = self.base_template
style['renderer'] = self style['renderer'] = self
if 'template' in style: # This API needs to be finessed and finalized for 3.1
if 'template' in renderer_context:
template_name = renderer_context['template']
elif 'template' in style:
template_name = style['template'] template_name = style['template']
else: else:
template_name = style['template_pack'].strip('/') + '/' + style['base_template'] template_name = style['template_pack'].strip('/') + '/' + style['base_template']
...@@ -555,7 +558,14 @@ class BrowsableAPIRenderer(BaseRenderer): ...@@ -555,7 +558,14 @@ class BrowsableAPIRenderer(BaseRenderer):
if data is not None: if data is not None:
serializer.is_valid() serializer.is_valid()
form_renderer = self.form_renderer_class() form_renderer = self.form_renderer_class()
return form_renderer.render(serializer.data, self.accepted_media_type, self.renderer_context) return form_renderer.render(
serializer.data,
self.accepted_media_type,
dict(
self.renderer_context.items() +
[('template', 'rest_framework/api_form.html')]
)
)
def get_raw_data_form(self, data, view, method, request): def get_raw_data_form(self, data, view, method, request):
""" """
......
{% load rest_framework %}
{% csrf_token %}
{% for field in form %}
{% if not field.read_only %}
{% render_field field style=style %}
{% endif %}
{% endfor %}
<!-- form.non_field_errors -->
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