Djangoリクエスト内のユーザーによるブラウザーの更新を検出することは可能ですか?
1 に答える
それ自体では、リクエストオブジェクトを見ただけではページが更新されたことを知る方法はないと思います。クライアントは、ページの2番目のバージョンを簡単に開くことができます。また、タイムスタンプなどを比較するために、すべてのリクエストに関するいくつかの状態データを保持する必要がありますが、それはすべて、実際に何が起こったかについての仮定にすぎません...
おそらくできることは、djangoでリクエストをチェックすることと、JavaScriptの魔法を組み合わせることです。この理由は、ページの更新が行われているかどうかを実際に認識しているのはクライアント側だけであり、このアクションの状態を記録する必要があるためです。簡単に検索すると、この小さなチュートリアルがここに表示されます:ページの更新の検出::クライアント側でのJavaScriptの使用。ページのアンロードをキャッチし、Cookie値を設定します。これにより、次のリロードがチェックされます。そのアプローチの一部を使用してCookieを設定し、djangoビューでrequest.cookiesをチェックして、そのリクエストがページのリロードイベントを記録したかどうかを確認できる場合があります。
*注:リンクしたJavaScriptページは少し古いですが、情報は引き続き関連しています。これは同様のSOの質問です