html
<form action="{% url 'sp_feedback' %}" method="post">
url
url(r'^feedback/$', views.post_feedback, name="sp_feedback"),
观看次数:
return HttpResponseRedirect("")
在使用模式形式时,在单击“提交”后如何返回页面?
在我当前的设置中,浏览器没有重定向。我对放在网址正则表达式中的内容完全感到困惑。
答案 0 :(得分:0)
在我当前的设置中,浏览器没有重定向。
因为您要重定向到一个空URL:
return HttpResponseRedirect("")
您必须重定向到页面的网址:
return HttpResponseRedirect('/feedback/')
但是使用redirect()
快捷键是更好,更方便的方法。因为您可以传递该URL的名称,所以Django会自动将其重定向到关联的URL。
示例:
return redirect('sp_feedback')
避免在应用程序中使用硬编码的网址是一种好习惯。
更新
由于您提到此表单出现在每个页面上,并且您希望将用户重定向回该页面,所以这里是一个解决方案:
在表单视图中使用request.META['HTTP_REFERER']
获取引荐页,然后使用该值进行重定向:
redirect_to = request.META.get('HTTP_REFERER', '/') # if HTTP-Referer header is not present, just redirect to homepage
return HttpResponseRedirect(redirect_to)