различать, была ли страница перезагружена или нет в представлениях Django или в шаблоне - PullRequest
0 голосов
/ 03 мая 2019

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 Ответ

1 голос
/ 03 мая 2019

вы можете сделать одну вещь:

используйте один скрытый элемент в вашем шаблоне так:

 <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. затем вы можете проверить это значение элемента input в вашем бэкэнде, если значение не пустое, т.е. "" означает, что страница загружена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...