【问题标题】:How to use redirect with multiple parameters in Django views?如何在 Django 视图中使用带有多个参数的重定向?
【发布时间】:2018-12-30 13:59:10
【问题描述】:

我正在尝试从视图中的另一个函数重定向到一个函数。 但我收到以下错误

NoReverseMatch at /sigma/status1/
Reverse for 'testview' with keyword arguments '{'amount': 1.000, 'stat':'Approved', 'ref': '10917'}' not found. 1 pattern(s) tried: ['sigma\\/status2/(?P<amount>\\d+)/(?P<stat>[a-z][A-Z]+)/(?P<ref>\\d+)/$']

下面是我的views.py的对应部分

return redirect(reverse('testview',kwargs={'amount':1.000,'stat':'Approved','ref':str(res['ref'])}))


def payment_status2(request,amount,stat,ref):
  return render(request, 'confirm1.html')

下面是我的 urls.py 的对应部分

urlpatterns = [
  url('status1/', views.payment_status1),
  url(r'^status2/(?P<amount>\d+)/(?P<stat>[a-z][A-Z]+)/(?P<ref>\d+)/$', views.payment_status2,name="testview"),
  ]

【问题讨论】:

  • 我现在已经编辑了这个问题。它只是参考
  • 有没有办法做到这一点?

标签: django python-3.x django-views django-urls


【解决方案1】:

您的stat 正则表达式不正确:

?P<stat>[a-z][A-Z]+

这表示参数应该以一个小写字母开头,然后是一个或多个大写字母(例如aPPROVED)。您应该将其更改为:

?P<stat>[a-zA-Z]+

?P<stat>\w+

【讨论】:

    猜你喜欢
    • 2018-05-23
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多