Add settings options to enable/disable permissions check in schema generation

This commit is contained in:
Nik 2016-09-02 18:52:22 +03:00
parent 80bd3b9722
commit 359fbef494
2 changed files with 9 additions and 4 deletions

View File

@ -9,6 +9,7 @@ from django.utils.encoding import force_text
from rest_framework import exceptions, serializers
from rest_framework.compat import coreapi, uritemplate, urlparse
from rest_framework.request import clone_request
from rest_framework.settings import api_settings
from rest_framework.views import APIView
@ -88,10 +89,11 @@ class SchemaGenerator(object):
if request is not None:
view.request = clone_request(request, method)
try:
view.check_permissions(view.request)
except exceptions.APIException:
continue
if api_settings.SCHEMA_CHECK_PERMISSIONS:
try:
view.check_permissions(view.request)
except exceptions.APIException:
continue
else:
view.request = None

View File

@ -84,6 +84,9 @@ DEFAULTS = {
'EXCEPTION_HANDLER': 'rest_framework.views.exception_handler',
'NON_FIELD_ERRORS_KEY': 'non_field_errors',
# Schema generation
'SCHEMA_CHECK_PERMISSIONS': True,
# Testing
'TEST_REQUEST_RENDERER_CLASSES': (
'rest_framework.renderers.MultiPartRenderer',