NoReverseMatch反向''带参数'(')和关键字参数''找不到

时间:2013-07-25 09:16:25

标签: django django-urls

我在django视图中有这个:

edit_url = reverse('ventas:clientes_edit',kwargs={'id':str(self.object.id)})

这是在urls.py:

url(r'^clientes/edit/(?P<pk>\d+)$',forms.ClienteUpdateView.as_view(), name="clientes_edit"),

当我通过ajax创建一个新客户时,我需要在JSON数据中返回一个带有id的反向URL,以输入一系列操作按钮进行编辑,删除...但总是我收到此错误而且我不知道知道如何完成它,这是完整的错误:

NoReverseMatch at /ventas/clientes/add/ Reverse for 'clientes_edit' with arguments '()' and keyword arguments '{'id': '38'}' not found.

有什么想法吗?

修改

Django版本是1.5

1 个答案:

答案 0 :(得分:9)

kwargs应传递pk not id以匹配url

edit_url = reverse('ventas:clientes_edit',kwargs={'pk':self.object.id})

你的网址也要求int pk不是字符串。