django-cache-purge-hooks

Screenshot Λογισμικό:
django-cache-purge-hooks
Στοιχεία Λογισμικού:
Εκδοχή: 0.3.0
Ανεβάστε ημερομηνία: 14 Apr 15
Προγραμματιστής: Shu Zong Chen
Άδεια: Δωρεάν
Δημοτικότητα: 1

Rating: 3.5/5 (Total Votes: 2)

Django-cache-εκκαθάριση αγκίστρια είναι ένα επαναχρησιμοποιήσιμο Django app να χειριστεί μνήμη cache ακύρωσης.
Αυτό το app παρέχει ουσιαστικά ένα μηχανισμό για να συνδέσετε εύκολα στο μοντέλο callbacks να ακυρώσει front-end μνήμη cache όταν χρειάζεται.
Επί του παρόντος, μόνο ένα backend βερνίκι εφαρμόζεται, αλλά ο σχεδιασμός δημιουργήθηκε με άλλες πιθανές backends στο μυαλό.
Χρήση
Προσθέστε «cache_purge_hooks» στο INSTALLED_APPS σας.
προσποιούνται μοντέλο #our
Δημοσίευση κατηγορία (models.Model):
& Nbsp? title = models.CharField (MAX_LENGTH = 200)
& Nbsp? γυμνοσάλιαγκας = models.SlugField (μοναδική = True, MAX_LENGTH = 200)
& Nbsp? σώματος = models.TextField (κενό = True, null = True)
από cache_purge_hooks cache_purge_hook εισαγωγής
cache_purge_hook (Post)
Όπως φαίνεται από τα παραπάνω, cache_purge_hooks ενότητα περιέχει μια cache_purge_hook λειτουργία. Περάστε στην ως πρώτο επιχείρημα ένα μοντέλο. Ο μηχανισμός της κρυφής μνήμης γουρουνάκι-πλάτες σχετικά με τη μέθοδο του μοντέλου παράδειγμα του get_absolute_url () και καθαρίζει τη μνήμη cache backend για τη συγκεκριμένη διεύθυνση URL.
Εάν οποιαδήποτε περίπτωση έχει πολλαπλές σχετικές διευθύνσεις URL, ορίστε μια μέθοδο έθιμο get_absolute_urls () η οποία επιστρέφει μια λίστα διευθύνσεων URL για να ακυρώσει:
κατηγορ (models.Model):
& Nbsp? name = models.CharField (MAX_LENGTH = 200)
& Nbsp? γυμνοσάλιαγκας = models.SlugField (μοναδική = True, MAX_LENGTH = 200)
& Nbsp? title = models.CharField (MAX_LENGTH = 127, κενό = True)
& Nbsp? def get_absolute_url (αυτο):
& Nbsp? & Nbsp? & Nbsp? επιστρέψει πίσω ("κατηγορία", kwargs = {
& Nbsp? & Nbsp? & Nbsp? & Nbsp? & Nbsp? «Κατηγορία»: self.slug
& Nbsp? & Nbsp? & Nbsp? })
& Nbsp? def get_absolute_urls (αυτο):
& Nbsp? & Nbsp? & Nbsp? GAU = self.get_absolute_url ()
& Nbsp? & Nbsp? & Nbsp? να επιστρέψει [GAU, αντίστροφη («blog_home»),]
Στο παραπάνω μοντέλο, έχουμε ένα μοντέλο της κατηγορίας blog post. Είναι μέθοδος get_absolute_url () είναι συνδεδεμένη με ένα συγκεκριμένο ονομάζεται διαδρομή που ορίζεται στο urls.py, αλλά οποιαδήποτε αλλαγή στην κατηγορία πρέπει επίσης να αντικατοπτρίζεται στο blog αρχική σελίδα (ας πούμε για παράδειγμα, η αρχική σελίδα περιέχει ένα σύννεφο ετικέτα όλων των κατηγοριών). Αυτή η σελίδα θα πρέπει να ακυρωθεί, όταν η πληροφορία αυτή έχει αλλάξει.
Ανακοίνωση θα πρέπει να αρπάξει επίσης ρητά την get_absolute_url () αξία. Δεν θα καλεστεί αν get_absolute_urls () υπάρχει.
Αν αυτό δεν είναι στις προτιμήσεις σας, μπορείτε επίσης να περάσει ως επιχείρημα για την 2η purge_related_blog μια συνάρτηση που παίρνει ένα παράδειγμα και επιστρέφει μια λίστα των διευθύνσεων URL.
Για παράδειγμα:
από facebook_comments.models εισαγωγή FacebookCommentCache
def purge_related_blog (παράδειγμα):
& Nbsp? PR = urlparse.urlparse (instance.url)
& Nbsp? να επιστρέψει [pr.path,]
cache_purge_hook (FacebookCommentCache, purge_related_blog)
Αυτό είναι επίσης χρήσιμη, διότι στην ανωτέρω περίπτωση, η περιοχή γίνεται χρήση ενός άλλου επαναχρησιμοποιήσιμα app (facebook_cached_comments). . Αυτό είναι πολύ καλύτερο από το hacking ενός κώδικα τρίτων να παρέχουν μια get_absolue_urls ()

Απαιτήσεις :

  • Python
  • Django
  • python-βερνίκι

Άλλο λογισμικό του προγραμματιστή Shu Zong Chen

Σχόλια για django-cache-purge-hooks

Τα σχόλια δεν βρέθηκε
προσθήκη σχολίου
Ενεργοποιήστε τις εικόνες!