rest_framework_swagger报错 TypeError:Expected a `coreapi.Document` instance'
python相关信息
python 3.7.3
django 2.1.8
django-rest-swagger 2.2.0
djangorestframework 3.10.2
coreapi 2.3.3
settings.py文件信息
INSTALLED_APPS = [
…
‘api’,
‘rest_framework’,
‘rest_framework_swagger’,
]
REST_FRAMEWORK = {
‘DEFAULT_PERMISSION_CLASSES’: [
‘rest_framework.permissions.IsAuthenticated’,
]
}
urls.py文件信息
from django.contrib import admin
from django.urls import path
from django.conf.urls import include
from rest_framework import routers
from api import views
from rest_framework.schemas import get_schema_view
from rest_framework_swagger.renderers import SwaggerUIRenderer, OpenAPIRenderer
router = routers.DefaultRouter()
router.register(‘users’, views.UserViewSet, base_name=‘user’)
router.register(‘groups’, views.GroupViewSet, base_name=‘group’)
schema_view = get_schema_view(title=‘API’, renderer_classes=[SwaggerUIRenderer, OpenAPIRenderer])
urlpatterns = [
path(‘admin/’, admin.site.urls),
path(’’, include(router.urls)),
path(‘api-auth/’, include(‘rest_framework.urls’, namespace=‘rest_framework’)),
path(‘docs/’, schema_view, name=‘docs’),
]
报错信息
Internal Server Error: /docs/
Traceback (most recent call last):
File “D:\python\lib\site-packages\django\core\handlers\exception.py”, line 34, in inner
response = get_response(request)
File “D:\python\lib\site-packages\django\core\handlers\base.py”, line 156, in _get_response
response = self.process_exception_by_middleware(e, request)
File “D:\python\lib\site-packages\django\core\handlers\base.py”, line 154, in _get_response
response = response.render()
File “D:\python\lib\site-packages\django\template\response.py”, line 106, in render
self.content = self.rendered_content
File “D:\python\lib\site-packages\rest_framework\response.py”, line 70, in rendered_content
ret = renderer.render(self.data, accepted_media_type, context)
File “D:\python\lib\site-packages\rest_framework_swagger\renderers.py”, line 54, in render
self.set_context(data, renderer_context)
File “D:\python\lib\site-packages\rest_framework_swagger\renderers.py”, line 70, in set_context
renderer_context=renderer_context
File “D:\python\lib\site-packages\rest_framework_swagger\renderers.py”, line 34, in render
return OpenAPICodec().encode(data, **options)
File “D:\python\lib\site-packages\rest_framework_swagger\renderers.py”, line 16, in encode
raise TypeError(‘Expected a coreapi.Document
instance’)
TypeError: Expected a coreapi.Document
instance