Avoid api_settings attribute evaluation at import time (#6478)

This commit is contained in:
Andrzej Pragacz 2019-03-01 01:30:30 +01:00
parent 317174b163
commit e9f46c9b59

View File

@ -29,13 +29,17 @@ from .inspectors import AutoSchema, DefaultSchema, ManualSchema # noqa
def get_schema_view( def get_schema_view(
title=None, url=None, description=None, urlconf=None, renderer_classes=None, title=None, url=None, description=None, urlconf=None, renderer_classes=None,
public=False, patterns=None, generator_class=SchemaGenerator, public=False, patterns=None, generator_class=SchemaGenerator,
authentication_classes=api_settings.DEFAULT_AUTHENTICATION_CLASSES, authentication_classes=None, permission_classes=None):
permission_classes=api_settings.DEFAULT_PERMISSION_CLASSES):
""" """
Return a schema view. Return a schema view.
""" """
# Avoid import cycle on APIView # Avoid import cycle on APIView
from .views import SchemaView from .views import SchemaView
# Avoid api_settings attribute evaluation at import time
if authentication_classes is None:
authentication_classes = api_settings.DEFAULT_AUTHENTICATION_CLASSES
if permission_classes is None:
permission_classes = api_settings.DEFAULT_PERMISSION_CLASSES
generator = generator_class( generator = generator_class(
title=title, url=url, description=description, title=title, url=url, description=description,
urlconf=urlconf, patterns=patterns, urlconf=urlconf, patterns=patterns,