1

Django のセッション Cookie 内に大量の情報を保存する予定です。ユーザーが Web サイトにアクセスしている間、このデータを維持したいと考えています。彼が去るとき、データは削除されるべきですが、セッションは存続しなければなりません。ユーザーがウェブサイトに戻るたびにログインする必要はありません。

ユーザーが Web サイトを離れるたびにセッション Cookie 全体を消去する方法を見つけましたが、理想的には、明示的に設定した Cookie の一部のみを削除したいと考えています。誰もこれを行う方法を知っていますか?

4

1 に答える 1

2

あなたは物事を少し混乱させています。

「Django のセッション cookie」に保存されるのは ID だけです。その ID は、セッション バックエンド内に格納されているデータを参照します。これは通常、データベース テーブルですが、Django の構成によってはファイルまたはキャッシュの場所になる場合があります。

現在、データが更新されるのは、Django によって変更されたときだけです。Cookie 自体の有効期限が切れる場合 (この場合、データ セット全体がセッション ストアに保持されますが、クライアントとの関連付けはなくなります)、またはサーバー上でセッションを変更するプロセスを実行する場合を除き、データを自動的に期限切れにすることはできません。プログラム的に。

ユーザーが Web サイトを離れたときやブラウザーを閉じたときに、サーバー エンドから通知する方法はありません。したがって、これを管理する唯一の方法は、サーバーで cron ジョブを実行して、最後に変更された (たとえば) 2 時間前のセッションを取得し、それらを繰り返して、削除するデータを削除することです。

于 2012-09-09T21:23:22.420 に答える