Urls.py
router = routers.DefaultRouter()
router.register('zone', views.ZoneViewSet, basename='zone')
app_name = 'address'
API.
urlpatterns = [
path('', include(router.urls)),
]
Test.py
RECIPES_URL = reverse('address:zone-list')
def details_url(id):
print(RECIPES_URL,id)
return reverse(RECIPES_URL.strip(),args=[id])
print -> /api/address/zone/ 1
def test_zone_details(self):
task = sample_payload()
url = details_url(task.id)
res = self.client.get(url)
self.assertEqual(res.status_code, status.HTTP_200_OK)
错误: test_zone_details (address.tests.ZoneApiTestCase)
raise NoReverseMatch(msg)
django.urls.exceptions.NoReverseMatch:反向查找'/api/address/zone/‘。'/api/address/zone/‘不是有效的视图函数或模式名称。
发布于 2022-11-06 06:23:03
Detail只是简单的reverse("zone-detail", kwargs={"pk": task.id})
,带有"zone“您的basename和"pk”您的url param名称。
-detail
被记录在这里:https://www.django-rest-framework.org/api-guide/routers/。
我承认,在DRF文档中找到你要寻找的东西并不总是容易的。
https://stackoverflow.com/questions/74333511
复制相似问题