From 64e801e479c1f111d8e4af43c55f9f22e76ebd06 Mon Sep 17 00:00:00 2001 From: Roman Vasilyev Date: Fri, 6 Jan 2017 14:46:36 -0800 Subject: [PATCH] get view for django 'virtual hosts' (#4776) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Brill, thanks! 👍 --- docs/api-guide/schemas.md | 12 ++++++++++++ rest_framework/schemas.py | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/api-guide/schemas.md b/docs/api-guide/schemas.md index 95eb05a40..f43ff56bd 100644 --- a/docs/api-guide/schemas.md +++ b/docs/api-guide/schemas.md @@ -145,6 +145,18 @@ May be used to pass a canonical URL for the schema. url='https://www.example.org/api/' ) +#### `urlconf` + +A string representing the import path to the URL conf that you want +to generate an API schema for. This defaults to the value of Django's +ROOT_URLCONF setting. + + schema_view = get_schema_view( + title='Server Monitoring API', + url='https://www.example.org/api/', + urlconf='myproject.urls' + ) + #### `renderer_classes` May be used to pass the set of renderer classes that can be used to render the API root endpoint. diff --git a/rest_framework/schemas.py b/rest_framework/schemas.py index 44da83063..112f4d8c4 100644 --- a/rest_framework/schemas.py +++ b/rest_framework/schemas.py @@ -571,11 +571,11 @@ class SchemaGenerator(object): return named_path_components + [action] -def get_schema_view(title=None, url=None, renderer_classes=None): +def get_schema_view(title=None, url=None, urlconf=None, renderer_classes=None): """ Return a schema view. """ - generator = SchemaGenerator(title=title, url=url) + generator = SchemaGenerator(title=title, url=url, urlconf=urlconf) if renderer_classes is None: if renderers.BrowsableAPIRenderer in api_settings.DEFAULT_RENDERER_CLASSES: rclasses = [renderers.CoreJSONRenderer, renderers.BrowsableAPIRenderer]