Django 反向工作,但重定向失败
这些文件我读了5遍,看不出有什么遗漏 我遇到的情况是reverse()工作正常,但传递给redirect()的相同参数失败,并出现一个错误,说明无法解析地址Django 反向工作,但重定向失败,django,Django,这些文件我读了5遍,看不出有什么遗漏 我遇到的情况是reverse()工作正常,但传递给redirect()的相同参数失败,并出现一个错误,说明无法解析地址 reverse("app:submission_thanks", kwargs={ "data": survey.data.slug, "survey": survey.slug }) redirect("app:submission_thanks", kwargs={ "data": survey.data.slug, "survey"
reverse("app:submission_thanks", kwargs={ "data": survey.data.slug, "survey": survey.slug })
redirect("app:submission_thanks", kwargs={ "data": survey.data.slug, "survey": survey.slug })
我的网址是:
url(r'^(?P<data>[-\w]+)/(?P<survey>[-\w]+)/thanks/$',
TemplateView.as_view(template_name="pasteur/submission_thanks.html"),
name="submission_thanks",
),
url(r'^(?P[-\w]+)/(?P[-\w]+)/谢谢/$”,
TemplateView.as_view(template_name=“pasteur/submission_-thanky.html”),
name=“提交\谢谢”,
),
在重定向中传递反向url:
return redirect(
reverse("app:submission_thanks",
kwargs={ "data": survey.data.slug, "survey": survey.slug }))
重定向具有不同的方法签名:
redirect("app:submission_thanks", data=survey.data.slug, survey=survey.slug)
参见Django文档中的
稍微深入了解一下代码:
重定向(to,*args,**kwargs)
调用resolve\u url(to,*args,**kwargs)
哪个调用urlresolvers.reverse(to,args=args,kwargs=kwargs)
。所以这绝对是正确的
使用resolve\u url
或重定向
快捷方式时,不需要将args
包装在列表中,也不需要将kwargs
包装在字典中