Add url prefix to DefaultRouter and SchemaGenerator init

This commit is contained in:
Julien Surloppe 2016-07-25 23:11:43 +02:00
parent 0f61c9ec29
commit 01f653b4e8
2 changed files with 5 additions and 3 deletions

View File

@ -278,6 +278,7 @@ class DefaultRouter(SimpleRouter):
def __init__(self, *args, **kwargs):
self.schema_title = kwargs.pop('schema_title', None)
self.schema_renderers = kwargs.pop('schema_renderers', self.default_schema_renderers)
self.schema_prefix = kwargs.pop('schema_prefix', '')
super(DefaultRouter, self).__init__(*args, **kwargs)
def get_api_root_view(self, schema_urls=None):
@ -296,7 +297,8 @@ class DefaultRouter(SimpleRouter):
view_renderers += list(self.schema_renderers)
schema_generator = SchemaGenerator(
title=self.schema_title,
patterns=schema_urls
patterns=schema_urls,
prefix=self.schema_prefix
)
schema_media_types = [
renderer.media_type

View File

@ -57,7 +57,7 @@ class SchemaGenerator(object):
'delete': 'destroy',
}
def __init__(self, title=None, patterns=None, urlconf=None):
def __init__(self, title=None, patterns=None, urlconf=None, prefix=''):
assert coreapi, '`coreapi` must be installed for schema support.'
if patterns is None and urlconf is not None:
@ -71,7 +71,7 @@ class SchemaGenerator(object):
patterns = urls.urlpatterns
self.title = title
self.endpoints = self.get_api_endpoints(patterns)
self.endpoints = self.get_api_endpoints(patterns, prefix)
def get_schema(self, request=None):
if request is None: