From 01f653b4e88545bcd81f4c4cc959ef0a42608559 Mon Sep 17 00:00:00 2001 From: Julien Surloppe Date: Mon, 25 Jul 2016 23:11:43 +0200 Subject: [PATCH] Add url prefix to DefaultRouter and SchemaGenerator init --- rest_framework/routers.py | 4 +++- rest_framework/schemas.py | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/rest_framework/routers.py b/rest_framework/routers.py index 69d73e842..e87496a69 100644 --- a/rest_framework/routers.py +++ b/rest_framework/routers.py @@ -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 diff --git a/rest_framework/schemas.py b/rest_framework/schemas.py index cf84aca74..ed80953a6 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: