0

我的视图中有以下方法:

@action(detail=True, methods=['delete'])
def remove(self, request, *args,**kwargs):
    print("here")

我为此端点创建了一个测试。但一直无法获得正确的网址。

当我做

url = reverse('order-remove', kwargs={'pk':1234, 'product_id':1})

我收到以下错误:

django.urls.exceptions.NoReverseMatch:使用关键字参数反转“order-remove”......未找到。尝试了 2 种模式:...

当我尝试时:

pk=1234
product_id=1
url = reverse('order-remove', args=(pk, product_id,))

我得到以下网址:

/orders/1234/remove.1

而不是我所期待的:orders/1234/remove/4用一个/代替.

我错过了什么?

4

1 回答 1

0

试试(检查)这个:

urls.py

url(r'^orders/remove/(?P<pk>\d+)/(?P<product_id>\d+)/$', 'views.remove', name='order_remove'),

视图.py:

    ....
    reverse('order_remove', kwargs={'pk':1,'product_id': 12})

输出:

订单/删除/1/12/

于 2021-03-06T17:58:43.160 回答