如何在 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+
我正在尝试从视图中的另一个函数重定向到一个函数。 但是我收到以下错误
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+