Django 1.11中的NoReverseMatch

时间:2017-12-21 05:08:01

标签: python django

我知道有很多问题已经问过这个错误,但由于某些原因,它们都不适合我。

我想做什么?

我正在尝试通过电子邮件确认将视图ActivateAccount中的变量传递到另一个视图result

有什么问题?

我根据docs做了一切正确的事情以及之前发布的有关同一错误的问题,但我仍然收到此错误:

Reverse for 'result' with keyword arguments '{'test': 'Email confirmed successfully!'}' not found. 1 pattern(s) tried: ['(?P<test>[\\w-]+)/$']

来电者view.py:

def ActivateAccount(request, uidb64, token):

test = ''
if uidb64 is not None and token is not None:
   ...
   test = "Email confirmed successfully!"

return HttpResponseRedirect(reverse('result', kwargs={'test': test}))

urls.py:

 url(r'^(?P<test>[\w-]+)/$', views.result, name='result') 

接收方view.py:

def result(request, test=None, *args, **kargs):
data = {'msg': test}
return JsonResponse(data) // this return the result to ajax 'GET'

我还想知道为什么正则表达式(\\)中出现双反斜杠[\\w-]而不是错误中的单个反斜杠\。在我的网址中,我有一个[\w-]executionArn)。

谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

 url(r'^(?P<test>[a-zA-Z!\s]+)/$', views.result, name='result') 

使用此urlpattern