Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
aafd0a64
Commit
aafd0a64
authored
Apr 27, 2017
by
Tom Christie
Committed by
GitHub
Apr 27, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #4979 from linovia/feature/improve_schema_shortcut
Restrict doc & schema shortcuts to a subset of urls
parents
5e5fd678
778aee1b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
35 additions
and
12 deletions
+35
-12
docs/api-guide/schemas.md
+16
-0
rest_framework/documentation.py
+13
-3
rest_framework/schemas.py
+6
-9
No files found.
docs/api-guide/schemas.md
View file @
aafd0a64
...
...
@@ -170,6 +170,22 @@ May be used to pass the set of renderer classes that can be used to render the A
renderer_classes=[CoreJSONRenderer, APIBlueprintRenderer]
)
#### `patterns`
List of url patterns to limit the schema introspection to. If you only want the
`myproject.api`
urls
to be exposed in the schema:
schema_url_patterns = [
url(r'^api/', include('myproject.api.urls')),
]
schema_view = get_schema_view(
title='Server Monitoring API',
url='https://www.example.org/api/',
patterns=schema_url_patterns,
)
## Using an explicit schema view
If you need a little more control than the
`get_schema_view()`
shortcut gives you,
...
...
rest_framework/documentation.py
View file @
aafd0a64
...
...
@@ -6,7 +6,9 @@ from rest_framework.renderers import (
from
rest_framework.schemas
import
SchemaGenerator
,
get_schema_view
def
get_docs_view
(
title
=
None
,
description
=
None
,
schema_url
=
None
,
public
=
True
,
generator_class
=
SchemaGenerator
):
def
get_docs_view
(
title
=
None
,
description
=
None
,
schema_url
=
None
,
public
=
True
,
patterns
=
None
,
generator_class
=
SchemaGenerator
):
renderer_classes
=
[
DocumentationRenderer
,
CoreJSONRenderer
]
return
get_schema_view
(
...
...
@@ -15,11 +17,14 @@ def get_docs_view(title=None, description=None, schema_url=None, public=True, ge
description
=
description
,
renderer_classes
=
renderer_classes
,
public
=
public
,
patterns
=
patterns
,
generator_class
=
generator_class
,
)
def
get_schemajs_view
(
title
=
None
,
description
=
None
,
schema_url
=
None
,
public
=
True
,
generator_class
=
SchemaGenerator
):
def
get_schemajs_view
(
title
=
None
,
description
=
None
,
schema_url
=
None
,
public
=
True
,
patterns
=
None
,
generator_class
=
SchemaGenerator
):
renderer_classes
=
[
SchemaJSRenderer
]
return
get_schema_view
(
...
...
@@ -28,16 +33,20 @@ def get_schemajs_view(title=None, description=None, schema_url=None, public=True
description
=
description
,
renderer_classes
=
renderer_classes
,
public
=
public
,
patterns
=
patterns
,
generator_class
=
generator_class
,
)
def
include_docs_urls
(
title
=
None
,
description
=
None
,
schema_url
=
None
,
public
=
True
,
generator_class
=
SchemaGenerator
):
def
include_docs_urls
(
title
=
None
,
description
=
None
,
schema_url
=
None
,
public
=
True
,
patterns
=
None
,
generator_class
=
SchemaGenerator
):
docs_view
=
get_docs_view
(
title
=
title
,
description
=
description
,
schema_url
=
schema_url
,
public
=
public
,
patterns
=
patterns
,
generator_class
=
generator_class
,
)
schema_js_view
=
get_schemajs_view
(
...
...
@@ -45,6 +54,7 @@ def include_docs_urls(title=None, description=None, schema_url=None, public=True
description
=
description
,
schema_url
=
schema_url
,
public
=
public
,
patterns
=
patterns
,
generator_class
=
generator_class
,
)
urls
=
[
...
...
rest_framework/schemas.py
View file @
aafd0a64
...
...
@@ -695,18 +695,15 @@ class SchemaView(APIView):
def
get_schema_view
(
title
=
None
,
url
=
None
,
description
=
None
,
urlconf
=
None
,
renderer_classes
=
None
,
public
=
False
,
generator_class
=
SchemaGenerator
,
):
title
=
None
,
url
=
None
,
description
=
None
,
urlconf
=
None
,
renderer_classes
=
None
,
public
=
False
,
patterns
=
None
,
generator_class
=
SchemaGenerator
):
"""
Return a schema view.
"""
generator
=
generator_class
(
title
=
title
,
url
=
url
,
description
=
description
,
urlconf
=
urlconf
)
generator
=
generator_class
(
title
=
title
,
url
=
url
,
description
=
description
,
urlconf
=
urlconf
,
patterns
=
patterns
,
)
return
SchemaView
.
as_view
(
renderer_classes
=
renderer_classes
,
schema_generator
=
generator
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment