diff options
| author | Tom Christie | 2013-08-19 20:58:28 +0100 |
|---|---|---|
| committer | Tom Christie | 2013-08-19 20:58:28 +0100 |
| commit | 28e44efe25b5373f0f46357e4e26f7cb0482efa6 (patch) | |
| tree | 9dd36c65ade4b801cfb7e93be7123fc5a5fb69e4 /docs/api-guide/renderers.md | |
| parent | 9e4e2c60f75f596d3f9e32deaab23bf98fc8ef0f (diff) | |
| parent | 34d65119fc1c200b76a8af7213a92d6b279bd478 (diff) | |
| download | django-rest-framework-28e44efe25b5373f0f46357e4e26f7cb0482efa6.tar.bz2 | |
Merge branch 'master' into 2.4.0
Diffstat (limited to 'docs/api-guide/renderers.md')
| -rw-r--r-- | docs/api-guide/renderers.md | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/docs/api-guide/renderers.md b/docs/api-guide/renderers.md index b627c930..bb3d2015 100644 --- a/docs/api-guide/renderers.md +++ b/docs/api-guide/renderers.md @@ -217,13 +217,31 @@ Renders data into HTML for the Browsable API. This renderer will determine whic **.charset**: `utf-8` +#### Customizing BrowsableAPIRenderer + +By default the response content will be rendered with the highest priority renderer apart from `BrowseableAPIRenderer`. If you need to customize this behavior, for example to use HTML as the default return format, but use JSON in the browsable API, you can do so by overriding the `get_default_renderer()` method. For example: + + class CustomBrowsableAPIRenderer(BrowsableAPIRenderer): + def get_default_renderer(self, view): + return JSONRenderer() + +## MultiPartRenderer + +This renderer is used for rendering HTML multipart form data. **It is not suitable as a response renderer**, but is instead used for creating test requests, using REST framework's [test client and test request factory][testing]. + +**.media_type**: `multipart/form-data; boundary=BoUnDaRyStRiNg` + +**.format**: `'.multipart'` + +**.charset**: `utf-8` + --- # Custom renderers To implement a custom renderer, you should override `BaseRenderer`, set the `.media_type` and `.format` properties, and implement the `.render(self, data, media_type=None, renderer_context=None)` method. -The method should return a bytestring, which wil be used as the body of the HTTP response. +The method should return a bytestring, which will be used as the body of the HTTP response. The arguments passed to the `.render()` method are: @@ -373,6 +391,7 @@ Comma-separated values are a plain-text tabular data format, that can be easily [rfc4627]: http://www.ietf.org/rfc/rfc4627.txt [cors]: http://www.w3.org/TR/cors/ [cors-docs]: ../topics/ajax-csrf-cors.md +[testing]: testing.md [HATEOAS]: http://timelessrepo.com/haters-gonna-hateoas [quote]: http://roy.gbiv.com/untangled/2008/rest-apis-must-be-hypertext-driven [application/vnd.github+json]: http://developer.github.com/v3/media/ |
