diff --git a/rest_framework/routers.py b/rest_framework/routers.py index 9561fa4db..6d93541fd 100644 --- a/rest_framework/routers.py +++ b/rest_framework/routers.py @@ -280,6 +280,7 @@ class DefaultRouter(SimpleRouter): assert 'schema_title' in kwargs, 'Missing "schema_title" argument.' 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): @@ -298,7 +299,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 diff --git a/rest_framework/schemas.py b/rest_framework/schemas.py index ee99a1c45..96999765f 100644 --- a/rest_framework/schemas.py +++ b/rest_framework/schemas.py @@ -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: