我正试图在django的HttpResponseRedirect反向函数中传递多个args,但我一直收到此错误
使用参数'()'和关键字参数“{'company':u'Company','sid':47606734}'找不到'DemoVar.views.success'。 < / p>
#Calling function
return HttpResponseRedirect(reverse('DemoVar.views.success',kwargs={'sid':int(ph), 'company':company}))
#Function definition
def success(request, sid, company):
#urls.py
url(r'^success/(?P<sid>[\d]+)/(?P<company>[\w\d-]+)/$','success', name='DemoVar_success'),
我尝试在反向函数中传递'args',但是有类似的错误。请帮忙。
更新:尝试将args作为元组传递。输出保持不变。
return HttpResponseRedirect(reverse('DemoVar.views.success',args=(ph, company,)))
#Error
Reverse for 'DemoVar.views.success' with arguments '(47606734, 'Dummy Company')' and keyword arguments '{}' not found.
答案 0 :(得分:1)
我在urls.py中使用相应函数url的正则表示错误。显然Django查看urls.py来确定视图函数的输入类型,在我的例子中是'DemoVar.views.success'。由于url的正则表达式不允许'space',django给出了一个错误。我改为使用正则表达式来容纳包含空格的输入。
url(r'^success/(?P<sid>[\d]+)/(?P<company>[\s\w\d-]+)/$','success', name='DemoVar_success'),
答案 1 :(得分:0)
您的网址名称为DemoVar_success
而不是DemoVar.views.success
。