Django REST Framework ошибка с accept_renderer - PullRequest
0 голосов
/ 30 ноября 2018

Я довольно новичок в DFR, поэтому я учусь, следуя руководству.До сих пор все в порядке, но в последней части, здесь , я должен добавить схему к 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, поэтому мой полный учебник / 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  

При необходимости вы можете увидеть код учебника здесь и здесь - документация get_schema_view.

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Существует два решения:

установить pyyaml:

pip install pyyaml

ИЛИ

Восстановить DRF:

pip install djangorestframework==3.8.0
0 голосов
/ 30 ноября 2018

Учебное пособие отправляет запрос к этой конечной точке из командной строки, используя HTTPie , а не браузер, для которого требуется указание средства визуализации.Если вы хотите, чтобы это работало из браузера, укажите средство визуализации, как описано в документации

...