Django rest framework DjangRESTFramework中的RetrieveAPI不工作
我想获得127.0.0.1:8000/API/1中的API实例,但是 127.0.0.1:8000/api中的api列表。事实上,在那之后 /api/like 127.0.0.1:8000/api/asfddas提供相同的输出Django rest framework DjangRESTFramework中的RetrieveAPI不工作,django-rest-framework,Django Rest Framework,我想获得127.0.0.1:8000/API/1中的API实例,但是 127.0.0.1:8000/api中的api列表。事实上,在那之后 /api/like 127.0.0.1:8000/api/asfddas提供相同的输出 views.py class ArticleListView(generics.ListAPIView): queryset=Article.objects.all() serializer_class=ArticleSerializer class ArticleD
views.py
class ArticleListView(generics.ListAPIView):
queryset=Article.objects.all()
serializer_class=ArticleSerializer
class ArticleDetailView(generics.RetrieveAPIView):
queryset=Article.objects.all()
serializer_class=ArticleSerializer
urls.py
urlpatterns=[
url('',ArticleListView.as_view()),
url('<int:pk>',ArticleDetailView.as_view()),
]
picture of 127.0.0.1:8000/api/1
Article List
Article List
GET /api/1
HTTP 200 OK
Allow: GET, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept
[
{
"title": "Test debut",
"content": "this is the debut for the test",
"description": "2019-10-22 08:46:05.964656+00:00"
},
{
"title": "2nd Test",
"content": "This is the second test article for the djreact
app",
"description": "2019-10-22 08:46:05.964656+00:00"
},
{
"title": "3rd article",
"content": "content for 3rd article",
"description": "description for 3rd article"
}
]
views.py
类ArticleListView(generics.ListAPIView):
queryset=Article.objects.all()
serializer\u class=ArticleSerializer
类ArticleDetailView(泛型.RetrieveAppView):
queryset=Article.objects.all()
serializer\u class=ArticleSerializer
url.py
URL模式=[
url(“”,ArticleListView.as_view()),
url(“”,ArticleDetailView.as_view()),
]
127.0.0.1:8000/api/1的图片
物品清单
物品清单
GET/api/1
HTTP 200 OK
允许:获取、头部、选项
内容类型:application/json
更改:接受
[
{
“标题”:“测试首秀”,
“内容”:“这是测试的首次登场”,
“说明”:“2019-10-22 08:46:05.964656+00:00”
},
{
“标题”:“第二次测试”,
“内容”:“这是djreact的第二个测试品
应用程序“,
“说明”:“2019-10-22 08:46:05.964656+00:00”
},
{
“标题”:“第三条”,
“内容”:“第三篇文章的内容”,
“说明”:“第三篇文章的说明”
}
]
尝试如下更改:
from rest_framework import generics, viewsets
class ArticleListView(viewsets.GenericViewSet, generics.ListAPIView):
class ArticleDetailView(viewsets.GenericViewSet, generics.RetrieveAPIView):
更改url.py:
router = DefaultRouter()
router.register(r'article', ArticleListView)
router.register(r'article', ArticleDetailView)
urlpatterns = [
url(r'^', include(router.urls)),
]
您的api详细信息如下:
127.0.0.1:8000/api/article/1/