Django 2.1, python 3.6, djangorestframework.
Когда я перехожу на следующий URL, я вижу свои данные (отлично!) http://127.0.0.1:8000/api/cards/1
Это то, что я вижу на странице API -
HTTP 200 OK
Allow: GET, PUT, PATCH, DELETE, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
[
{
"id": "1",
"card_title": "Hello"
},
]
Я хочу иметь возможность перейти по этому URL-адресу, чтобы получить те же данные - http://127.0.0.1:8000/api/cards/title/Hello
Как мне обновить мои представления и URL-адреса для этого?
базовый URL
urlpatterns = [
...
path('api/cards/', include('cards.api.urls')),
]
cards.api.urls.py
urlpatterns = [
path('', CardListView.as_view()),
path('<str:pk>/', CardDetailView.as_view()),
]
urlpatterns = format_suffix_patterns(urlpatterns)
cards.api.views.py
class CardList(generics.ListCreateAPIView):
permission_classes = ()
queryset = Card.objects.all()
serializer_class = CardSerializer
class CardDetail(generics.RetrieveUpdateDestroyAPIView):
#permisssion_classes = (UserPermission,) # set the permission class
permission_classes = ()
queryset = Card.objects.all()
serializer_class = CardSerializer
Я попытался добавить это к карточкам.api.urls.py path('api/cards/title/<str:pk>/', CardDetail.as_view()),
, но он по-прежнему ищет переменную id
вместо переменной card_title
.