如何解决Django Rest Framework:url 中的第二个参数用点 (.) 而不是 /
我的视图中有以下方法:
@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
带有 /
而不是 .
我错过了什么?
解决方法
试试(检查)这个:
urls.py:
url(r'^orders/remove/(?P<pk>\d+)/(?P<product_id>\d+)/$','views.remove',name='order_remove'),
views.py:
....
reverse('order_remove',kwargs={'pk':1,'product_id': 12})
输出:
订单/移除/1/12/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。