rest - Django REST Framework 与accepted_renderer 错误

标签 rest api django-rest-framework

我对 DFR 很菜鸟,所以我正在按照教程进行学习。 到目前为止一切都很好,但在最后一部分,here ,我必须向 API 添加架构,并且按照说明进行操作,因此安装 coreapi 并添加

from rest_framework.schemas import get_schema_view

schema_view = get_schema_view(title='Pastebin API')

urlpatterns = [
    path('schema/', schema_view),
    ...
]

在tutorial/urls.py中,所以我完整的tutorial/urls.py是:

from django.conf.urls import url
from django.contrib import admin
from django.urls import path, include

from rest_framework.schemas import get_schema_view

schema_view = get_schema_view(title='Pastebin API')

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    path('', include('snippets.urls')),
    path('api-auth/', include('rest_framework.urls')),
    path('schema/', schema_view),
]

但是如果我从浏览器访问/schema/http://127.0.0.1:8000/schema/ ,我得到:

AttributeError at /schema/

'Request' object has no attribute 'accepted_renderer'

由于我按照教程的说明进行操作,所以我不明白如何修复此错误。

我的配置是:

coreapi             2.3.3     
coreschema          0.0.4     
Django              2.1.3     
djangorestframework 3.9.0  

如果需要您可以查看教程的代码herehere是 get_schema_view 文档。

最佳答案

有两种解决方案:

安装 pyyaml:

pip install pyyaml

恢复 DRF:

pip install djangorestframework==3.8.0

关于rest - Django REST Framework 与accepted_renderer 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53561706/

相关文章:

python - AWS Cognito for Django3 + DRF 身份验证

json - 如何处理 HTTP PUT 中的不可变字段和派生字段?

rest - Azure Media Player - 在编码过程中显示编码进度或某种消息

javascript - 是否可以强制用户的浏览器发出(并遵循)正文中包含 JSON 的 GET 请求?

django - 通过邮件确认时出错

Django rest 框架身份验证测试

java - 通过 Jersey 客户端调用 REST api 时添加多个 header

java - 使用 Spark Java 通过 http 流式传输视频文件

python - 如何在没有任何 API 框架的情况下创建 Django API

json - RESTful GET 响应是否应该返回资源的 ID?