Added root_renderers argument (#4323)

This commit is contained in:
Tom Christie 2016-07-28 12:50:51 +01:00 committed by GitHub
parent 306726d9e8
commit e407dc7f01
2 changed files with 9 additions and 1 deletions

View File

@ -155,6 +155,10 @@ schema URLs include a path prefix.
If you want more flexibility over the schema output then you'll need to consider
using `SchemaGenerator` instead.
#### root_renderers
May be used to pass the set of renderer classes that can be used to render the API root endpoint.
## Using SchemaGenerator
The most common way to add a schema to your API is to use the `SchemaGenerator`

View File

@ -283,6 +283,10 @@ class DefaultRouter(SimpleRouter):
self.schema_title = kwargs.pop('schema_title', None)
self.schema_url = kwargs.pop('schema_url', None)
self.schema_renderers = kwargs.pop('schema_renderers', self.default_schema_renderers)
if 'root_renderers' in kwargs:
self.root_renderers = kwargs.pop('root_renderers')
else:
self.root_renderers = list(api_settings.DEFAULT_RENDERER_CLASSES)
super(DefaultRouter, self).__init__(*args, **kwargs)
def get_api_root_view(self, api_urls=None):
@ -294,7 +298,7 @@ class DefaultRouter(SimpleRouter):
for prefix, viewset, basename in self.registry:
api_root_dict[prefix] = list_name.format(basename=basename)
view_renderers = list(api_settings.DEFAULT_RENDERER_CLASSES)
view_renderers = list(self.root_renderers)
schema_media_types = []
if api_urls and self.schema_title: