【问题标题】:how to do a reverse on a url with primary key in django如何在 django 中使用主键对 url 进行反向操作
【发布时间】:2013-07-15 10:24:37
【问题描述】:

我的应用有以下 url 条目:

url(r'^(?P<pk>\d+)/(?P<action>add|edit)/type/$', 'customer.views.edit', name='customer-edit'),

我想用反向发布到这个网址。当我执行以下操作时,我收到错误 NoReverseMatch:

self.client.post(reverse('customer-edit'), {'something:'something'}, follow=True)

这是完整的错误: NoReverseMatch:未找到带有参数“()”和关键字参数“{}”的“客户编辑”的反向。

我需要将 args 或 kwargs 传递给反向吗?如果是这样,它们会是什么样子与上面的 url 匹配?

【问题讨论】:

    标签: python regex django http-post django-urls


    【解决方案1】:

    要将args 传递给url,您可以将tuple 类型的名为args 的变量传递给reverse

    self.client.post(reverse('customer-edit', args=(1, 'add',)), {'something:'something'}, follow=True)
    

    另一个问题是dict 有一个Syntax Error

    self.client.post(reverse('customer-edit', args=(1, 'add',)), {'something' : 'something'}, follow=True)
    

    希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 2013-01-08
      • 2019-05-31
      • 2014-12-28
      • 2017-04-29
      • 2011-03-22
      • 2011-11-21
      • 2012-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多