Ошибка Рефакторинг представлений в один ViewSet
Я заканчиваю свой первый курс RESTful Routes по TDD.
Сейчас я нахожусь на первой части Restful Routes, и нас просят рефакторить представления в один ViewSet.
Я следовал предоставленному руководству Django REST Framework Views - ViewSets и я объединил мои APIView'ы в ViewSet в моем файле views.py:
from django.shortcuts import get_object_or_404
from rest_framework.response import Response
from rest_framework.viewsets import ViewSet
class MovieViewSet(ViewSet):
movies = Movie.objects.all()
def list(self, request):
serializer = ItemSerializer(self.queryset, many=True)
return Response(serializer.data)
def retrieve(self, request, pk=None):
item = get_object_or_404(self.queryset, pk=pk)
serializer = ItemSerializer(item)
return Response(serializer.data)
У меня возникают трудности с обработкой URL-адресов.
# urls.py
from django.urls import path, include
from rest_framework import routers
from .views import MovieViewSet
router = routers.DefaultRouter()
router.register("api/movies/", MovieViewSet)
urlpatterns = [
path("api/movies/", MovieViewSet),
path('', include(router.urls)),
]
Здесь мы создали маршрутизатор (используя DefaultRouter, чтобы получить представление API по умолчанию) и зарегистрировали в нем ItemsViewSet. При создании маршрутизатора вы должны указать два аргумента:
Префикс URL для представлений Сам набор ViewSet Затем мы включили маршрутизатор внутрь urlpatterns.
.
В соответствии с этими инструкциями я думал, что мне нужно воссоздать url, который мы имели в APIView, т.е. http://localhost:8009/api/movies/
, но я получаю следующую ошибку.
http: error: ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response')) whit', port=8000): Max retries exceeded with url: /api/movies/ (Caused by NewConnectionError('<urllib3.connection.HTTPConnect
Может ли кто-нибудь помочь?