【问题标题】:NoReverseMatch Reverse for '' with arguments '()' and keyword arguments '' not foundNoReverseMatch 未找到带有参数 '()' 和关键字参数 '' 的 '' 的反向
【发布时间】:2013-07-25 02:21:25
【问题描述】:

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

【问题讨论】:

    标签: django django-urls


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-12-22
      • 2018-09-08
      • 2016-11-11
      • 1970-01-01
      • 2010-12-22
      • 2013-12-07
      • 2011-08-04
      • 2015-08-29
      相关资源
      最近更新 更多