From 6e39a58b2dc93564ef8153d90afcfd1db572dd45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=20V=C3=AEjdea?= Date: Sun, 9 Sep 2018 21:56:00 +0300 Subject: [PATCH] Defer settings imports to avoid ImportErrors --- src/drf_yasg/views.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/drf_yasg/views.py b/src/drf_yasg/views.py index f6d58f4..bd1499e 100644 --- a/src/drf_yasg/views.py +++ b/src/drf_yasg/views.py @@ -48,9 +48,7 @@ def deferred_never_cache(view_func): def get_schema_view(info=None, url=None, patterns=None, urlconf=None, public=False, validators=None, - generator_class=swagger_settings.DEFAULT_GENERATOR_CLASS, - authentication_classes=api_settings.DEFAULT_AUTHENTICATION_CLASSES, - permission_classes=api_settings.DEFAULT_PERMISSION_CLASSES): + generator_class=None, authentication_classes=None, permission_classes=None): """Create a SchemaView class with default renderers and generators. :param .Info info: information about the API; if omitted, defaults to :ref:`DEFAULT_INFO ` @@ -66,9 +64,13 @@ def get_schema_view(info=None, url=None, patterns=None, urlconf=None, public=Fal :rtype: type[.SchemaView] """ _public = public - _generator_class = generator_class + _generator_class = generator_class or swagger_settings.DEFAULT_GENERATOR_CLASS _auth_classes = authentication_classes + if _auth_classes is None: + _auth_classes = api_settings.DEFAULT_AUTHENTICATION_CLASSES _perm_classes = permission_classes + if _perm_classes is None: + _perm_classes = api_settings.DEFAULT_PERMISSION_CLASSES info = info or swagger_settings.DEFAULT_INFO validators = validators or [] _spec_renderers = tuple(renderer.with_validators(validators) for renderer in SPEC_RENDERERS)