如何在django rest框架中反向删除项目的URL

时间:2018-07-11 11:03:48

标签: django python-2.7 django-rest-framework

我正在测试我的删除项目API,但是我无法确定如何获取删除请求的URL。

我正在使用:

Django==1.11.13
 and 
djangorestframework==3.7.7

<api-path>/favorite-items/1/进行DELETE请求的url_reverse正确方法是什么?

我正尝试通过以下网址对该项的删除进行网址反向: <api-path>/favorite-items/1/

url.py文件:

from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register(r'favorite_item', FavouriteItemAPI, base_name='favorite-items')
urlpatterns = router.urls

我尝试过:

    from model_mommy import mommy
    fav_item = mommy.make(FavouriteItem)
    view = FavouriteItemAPI()  # extends the Destroy mixin and has a destroy method
    url = view.reverse_action('destroy', args=[request_instance, fav_item.id])

如文档中所述:http://www.django-rest-framework.org/api-guide/viewsets/#reversing-action-urls

修改: 起作用的是

    url =  '{}{}/'.format(url_reverse('favorite-items'), fav_item.id)

但看起来一点也不好

编辑2 : 看起来不错的是:

    url = url_reverse('favorite-items-detail', kwargs={'pk':fav_item.id})

欢迎其他选择

1 个答案:

答案 0 :(得分:0)

使用

x, y = zip(*idx)
df.to_numpy()[y, x] += 1

使用 0 1 2 0 1 2 1 1 3 1 3 2 1 1 1 HTTP方法。

这是docs中有用的url-方法-action-名称表。