我看到this问题,你可以使用以下方法重定向到上一页:
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
但有没有办法保持它所处的滚动位置?以上重新加载页面。
答案 0 :(得分:2)
经过一番来回,这就是我想出来的(在this回答的帮助下):
from django.http import HttpResponse
def myview (request):
..
..
return HttpResponse('<script>history.back();</script>')
此外,请注意history.back()
重新加载&#39;这页纸。要重新加载页面,我们必须使用location.reload()
来保持滚动位置,但我们必须以巧妙的方式使用它,以免让它进入无限循环。所以这就是我做的事情(如this聪明的答案中提到的那样)
<input type="hidden" id="refreshed" value="false">
<script type="text/javascript">
$(window).load(function(){
if ($('#refreshed').val() == "false") {
$('#refreshed').val("true");
}
else {
$('#refreshed').val("false");
location.reload();
}
});
</script>
注意:以上是使用隐藏的输入字段,因为输入字段的状态将保留在&#39; back&#39;被调用。
所有这些,如果在您的用例中更好地运行而不是执行上述操作,您可能需要考虑进行Ajax调用。