私のアプリケーションの一部には、訪問者向けのカスタム設定がいくつかあります。ユーザーがページをロードすると、リクエストのカスタム設定を確認しようとし、設定が存在する場合はページでカスタマイズを行います。
def shared_values(request):
show_help = request.session.get('show_help', True)
return {
'show_help': show_help,
}
それは完璧に機能しますが、問題があります-毎回、セッションdjangoをチェックすると、エントリが前に存在しない場合、セッションテーブルに新しいエントリが作成されます。
新しいセッションを作成せずにセッションを確認するにはどうすればよいですか?
編集1:
次に、セッション キーのチェックを無効にします。django がリクエストのセッション エントリを作成しないことがわかります。
- 最初のブラウザ(chrome)で管理者としてログインし、すべてのセッションを削除します(自分用のセッションを除く)
コンテキスト プロセッサを編集して、プロジェクトのセッションにアクセスしないようにします。
show_help = 真
別のブラウザー (firefox) でページを開く
最初のブラウザに切り替えて、新しいセッション オブジェクトが表示されるかどうかを確認しますが、何も変更されていません。存在するセッション オブジェクトは 1 つだけです。
編集2:
私はジャンゴ1.4.1を使用しています