mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-08-07 22:04:48 +03:00
Fail gracefully if coreapi is not installed and SchemaGenerator is used
This commit is contained in:
parent
482289695d
commit
1f76ccaeee
|
@ -23,7 +23,6 @@ from django.core.exceptions import ImproperlyConfigured
|
|||
from django.core.urlresolvers import NoReverseMatch
|
||||
|
||||
from rest_framework import exceptions, renderers, views
|
||||
from rest_framework.compat import coreapi
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.reverse import reverse
|
||||
from rest_framework.schemas import SchemaGenerator
|
||||
|
@ -288,7 +287,6 @@ class DefaultRouter(SimpleRouter):
|
|||
view_renderers = list(api_settings.DEFAULT_RENDERER_CLASSES)
|
||||
|
||||
if schema_urls and self.schema_title:
|
||||
assert coreapi, '`coreapi` must be installed for schema support.'
|
||||
view_renderers += [renderers.CoreJSONRenderer]
|
||||
schema_generator = SchemaGenerator(patterns=schema_urls)
|
||||
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
from importlib import import_module
|
||||
|
||||
import coreapi
|
||||
import uritemplate
|
||||
from django.conf import settings
|
||||
from django.contrib.admindocs.views import simplify_regex
|
||||
from django.core.urlresolvers import RegexURLPattern, RegexURLResolver
|
||||
from django.utils import six
|
||||
|
||||
from rest_framework import exceptions
|
||||
from rest_framework.compat import coreapi, uritemplate
|
||||
from rest_framework.request import clone_request
|
||||
from rest_framework.views import APIView
|
||||
|
||||
|
@ -22,6 +21,8 @@ class SchemaGenerator(object):
|
|||
}
|
||||
|
||||
def __init__(self, schema_title=None, patterns=None, urlconf=None):
|
||||
assert coreapi, '`coreapi` must be installed for schema support.'
|
||||
|
||||
if patterns is None and urlconf is not None:
|
||||
if isinstance(urlconf, six.string_types):
|
||||
urls = import_module(urlconf)
|
||||
|
|
0
schema-support
Normal file
0
schema-support
Normal file
Loading…
Reference in New Issue
Block a user