ジャンゴ - キャッシュ - パージフックキャッシュ無効を処理するための再利用可能なDjangoのアプリです。
このアプリは、基本的には簡単に必要なときに、フロントエンドのキャッシュを無効にするためにモデルのコールバックにフックするメカニズムを提供します。
現在、ワニスバックエンドが実装されていますが、デザインを念頭に置いて、他の可能なバックエンドで作成されました。
の使用法の
あなたのINSTALLED_APPSに「cache_purge_hooks」を追加します。
#ourふりモデル
クラスポスト(models.Model):
 タイトル= models.CharField(max_lengthを= 200)
 スラグ= models.SlugField(ユニーク= TRUE、max_lengthを= 200)
 ボディ= models.TextField(真= NULL、真=空白)
cache_purge_hooksインポートcache_purge_hookから
cache_purge_hook(ポスト)
以上のように、cache_purge_hooksモジュールは、関数cache_purge_hookが含まれています。最初の引数としてのモデルを渡します。キャッシュ機構モデルインスタンスのはget_absolute_url()メソッドにピギーバックとは、その特定のURLのバックエンドのキャッシュをクリアします。
すべてのインスタンスが複数の関連するURLがある場合は、無効にするURLのリストを返すカスタムget_absolute_urls()メソッドを定義します。
クラスカテゴリ(models.Model):
 名前= models.CharField(max_lengthを= 200)
 スラグ= models.SlugField(ユニーク= TRUE、max_lengthを= 200)
 タイトル= models.CharField(max_lengthを= 127、空白=真)
 デフはget_absolute_url(自己):
   リターンの逆( "カテゴリ"は、kwargsから= {
      「カテゴリ」:self.slug
    })
  DEF get_absolute_urls(自己):
    GAU = self.get_absolute_url()
   戻るには、[GAU、( 'blog_home')を逆転、]
上記のモデルでは、ブログの記事カテゴリモデルを持っている。それははget_absolute_urlだ()メソッドがurls.pyで定義された特定の名前のルートに関連付けられていますが、カテゴリへの変更も、ブログのホームページに反映されなければならない(例えば、ホームページは、すべてのカテゴリのタグクラウドが含まれていると言う)。この情報が変更されたときにそのページが無効にされなければならない。
あなたが明示的にはget_absolute_url()の値を取得しなければならないことに注意してください。 get_absolute_urls()が存在する場合には呼び出されません。
それはあなたの好みに合わせていない場合は、インスタンスを取り、URLのリストを返す関数をpurge_related_blogする第2引数として渡すことができます。
例えば:
facebook_comments.modelsからFacebookCommentCacheをインポート
DEF purge_related_blog(インスタンス):
  PR = urlparse.urlparse(instance.url)
  [、pr.path]を返す
cache_purge_hook(FacebookCommentCache、purge_related_blog)
上記の場合、サイトが別の再利用可能なアプリ(facebook_cached_comments)を利用しているので、これも便利です。これは)(get_absolue_urlsを提供するために、サードパーティのコードをハッキングよりもはるかに優れています。
の要件の
- のPython
- ジャンゴます。
- のpython-ワニスます。
コメントが見つかりません