4

スタッフメンバーのすべての非管理ページの上部に「管理バー」を貼り付けたいDjangoサイトがあります。ページ編集ツールなどの便利なものが含まれます。

問題は、@cache_page多くのページでデコレータを使用していることにあります。通常のユーザーがページにアクセスすると、キャッシュされたバージョンが管理バーなしで (管理ユーザーの場合でも) 表示され、管理者が最初にページにアクセスすると、通常のユーザーには管理バーが表示されます。

地域のキャッシュ ブロックを追加して、テンプレートを退屈な手順で確認することもできますが、テンプレートがたくさんあり、寿命が短すぎます。

理想的には、管理者ユーザーからのキャッシュの取得/設定要求を無視するようにキャッシングに指示する方法があります...しかし、それを最もよく実装する方法がわかりません。

この問題にどのように取り組みますか?

4

1 に答える 1

0

私は実際にあなたに完全な真実を伝えませんでした..ログインしているのはスタッフだけです。他のみんなは匿名です。

キャッシュミドルウェアソース(何を使用するか)を掘り下げ@cache_pageて、設定を見つけましたCACHE_MIDDLEWARE_ANONYMOUS_ONLY

これで問題が解決すると思います。

于 2010-03-30T12:58:57.403 に答える