Django过滤URL和VIEWS-“在/ collection /…处找不到页面”

问题描述 投票:0回答:2

我正在Django中成功检索特定对象的所有记录。

我的url.py是path('city/', views.TestListCity.as_view())我从邮递员那里得到:http://192.168.99.100:8080/collection/city,它返回所有记录。例如:

{
    "id": 3,
    "name": "Bor",
    "region": {
        "id": 2,
        "name": "Sun"
    }
},

现在我要过滤列为[[name。]的记录>我尝试过:

urls.py path('city/(?P<name>.+)/$', views.TestListCity.as_view()), views.py class TestListCity(generics.RetrieveAPIView): serializer_class = TestListCitySerializer def get_queryset(self): name = self.kwargs['name'] return City.objects.filter(name=name)

我尝试GET:

http://192.168.99.100:8080/collection/city?name=Bor

但随后是404:

<title>Page not found at /collection/city</title>

我也尝试了第二种方法:

urls.py path('city/<str:name>/', views.TestListCity.as_view()) views.py class TestListCity(generics.RetrieveAPIView): serializer_class = TestListCitySerializer queryset = City.objects.all() lookup_field = 'name'

但响应完全相同。

我正在Django中成功检索特定对象的所有记录。我的url.py是path('city /',views.TestListCity.as_view())从邮递员那里,我只是得到:http://192.168.99.100:8080/collection/city和...

django django-rest-framework django-views django-urls django-serializer
2个回答
0
投票

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.