如何在 Django 视图中使用带多个参数的重定向?

How to use redirect with multiple parameters in Django views?

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

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"),
  ]

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

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

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

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

?P<stat>\w+