diff options
Diffstat (limited to 'rest_framework')
| -rw-r--r-- | rest_framework/compat.py | 15 | 
1 files changed, 9 insertions, 6 deletions
| diff --git a/rest_framework/compat.py b/rest_framework/compat.py index fdf12448..9ad8b0d2 100644 --- a/rest_framework/compat.py +++ b/rest_framework/compat.py @@ -48,12 +48,15 @@ try:  except ImportError:      django_filters = None -# guardian is optional -try: -    import guardian -    import guardian.shortcuts  # Fixes #1624 -except ImportError: -    guardian = None +# Django-guardian is optional. Import only if guardian is in INSTALLED_APPS +# Fixes (#1712). We keep the try/except for the test suite. +guardian = None +if 'guardian' in settings.INSTALLED_APPS: +    try: +        import guardian +        import guardian.shortcuts  # Fixes #1624 +    except ImportError: +        pass  # cStringIO only if it's available, otherwise StringIO | 
