3

我在 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

4

1 回答 1

9

kwargs 应该通过 pk 而不是 id 来匹配 url

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

您的网址也需要一个 int pk 而不是字符串。

于 2013-07-25T09:18:34.957 回答