区分是否在Django视图或模板中重新加载页面

时间:2019-05-03 10:34:24

标签: django

Django问题

我想问一下是否可以从视图或模板中区分页面是否被重新加载或url是否到达了另一页面?如果将其缩短,是否需要知道是否有任何标记可以表明该页面已被F5重新加载或其他原因?

也许可以通过分析请求找出答案。

我想到的只有一个主意:

request.get_full_path()# – specifies full address of the current page

request.META.get('HTTP_REFERER')# – specifies full address of previous page

因此,从理论上讲,如果重新加载了前==最后–页,则这种方式行不通。

如果您知道任何解决方案或提示-请进行交流。

谢谢您,祝您愉快!

1 个答案:

答案 0 :(得分:1)

您可以做一件事:

像这样在模板中使用一个隐藏元素:

 <input type="hidden" id="anyId" name="anyName" value="">

然后在页面重新加载时调用fn为该元素分配值

<body onbeforeunload="assignValue()>
<!--put your stuff-->
<script>
function assignValue(){
document.getElementById("anyId").value="reloaded";
}
</body>

由于页面加载onbeforeunload上的assignValue()会被调用fn。 那么您可以在后端检查输入元素的此值(如果值不为空),即“”表示已加载页面