Django REST框架错误,带有已接受的\u呈现程序
我对DFR很在行,所以我正在按照教程学习。 到目前为止一切都很好,但在最后一部分中,我必须向API添加一个模式,并按照说明进行操作,因此安装coreapi并添加Django REST框架错误,带有已接受的\u呈现程序,rest,api,django-rest-framework,Rest,Api,Django Rest Framework,我对DFR很在行,所以我正在按照教程学习。 到目前为止一切都很好,但在最后一部分中,我必须向API添加一个模式,并按照说明进行操作,因此安装coreapi并添加 from rest_framework.schemas import get_schema_view schema_view = get_schema_view(title='Pastebin API') urlpatterns = [ path('schema/', schema_view), ... ] 在tu
from rest_framework.schemas import get_schema_view
schema_view = get_schema_view(title='Pastebin API')
urlpatterns = [
path('schema/', schema_view),
...
]
在tutorial/url.py中,我的完整tutorial/url.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/,我会得到:
我不明白如何修复此错误,因为我遵循了教程的说明
我的意见是:
coreapi 2.3.3
coreschema 0.0.4
Django 2.1.3
djangorestframework 3.9.0
如果需要,您可以查看教程的代码和get_schema_view文档。教程使用命令行向该端点发出请求,而不是使用需要指定渲染器的浏览器。如果希望从浏览器中执行此操作,请按照说明指定渲染器有两种解决方案: 安装pyyaml:
pip install pyyaml
或
还原DRF:
pip install djangorestframework==3.8.0
本教程说:如果您在浏览器中访问/schema/endpoint,您现在应该会看到corejson表示作为一个选项变得可用。不,它不是,我已经查看了本教程中的
get\u schema\u view
文档和您的链接,它指出添加视图后,,您将能够发出API请求来检索自动生成的架构定义。
之后是使用HTTPie的请求。是的,我知道,并且我已经尝试过使用HTTPie,但得到了相同的错误。此外,我已经从浏览器和命令行测试了所有其他端点(本教程上一部分中的端点),只有这样做不起作用。请注意,请求可以来自浏览器和命令行。我在这里找到了一个解决方案:使用DRF 3.8.0而不是3.9.0
pip install djangorestframework==3.8.0