جانغو التخزين المؤقت للutils2 هو التطبيق جانغو الذي يوفر الديكور المخزنة مؤقتا وإبطال وظيفة.
تركيب
PIP تثبيت جانغو التخزين المؤقت للutils2
استعمال
من cache_utils2 مؤقتا استيراد، يبطل
cached (60)
مواطنه فو (س، ص = 0):
على & nbsp؛ "يسمى فو 'طباعة
على & nbsp؛ العودة X + Y
فو (1، 2) ويسمى # فو
فو (1، ص = 2)
فو (5، 6) ويسمى # فو
فو (5، 6)
إبطال (فو، {'س': 1، 'ذ': 2})
فو (1، 2) ويسمى # فو
فو (5، 6)
ودعا فو (س = 2) # فو
فو (س = 2)
فئة فو (كائن):
على & nbsp؛cached (60)
على & nbsp؛ مواطنه فو (النفس، س، ص):
على & nbsp؛ طباعة "يسمى فو"
على & nbsp؛ العودة X + Y
الكائنات = فو ()
obj.foo يسمى (1،2) # فو
obj.foo (1،2)
إبطال (Foo.foo، {'س': 1، 'ذ': 2})
obj.foo يسمى (1،2) # فو
جانغو سبيل المثال
من استيراد النماذج django.db
من cache_utils2 مؤقتا استيراد، يبطل
فئة CityManager (models.Manager):
على & nbsp؛ # مخبأ نتيجة الأسلوب. يتم تجاهل المعلمة "الذات"
على & nbsp؛cached (60 * 60 * 24)
على & nbsp؛ الافتراضية صفر (النفس):
على & nbsp؛ self.active عودة () [0]
على & nbsp؛ # مخبأ نتيجة الأسلوب. يتم تجاهل "الذات" المعلمة، وسائط و
على & nbsp؛ وتستخدم # kwargs لبناء مفتاح مخبأ
على & nbsp؛cached (60 * 60 * 24)
على & nbsp؛ مواطنه الحصول على (النفس، * وسائط ** kwargs):
على & nbsp؛ عودة السوبر (CityManager، النفس). احصل على (* سائط ** kwargs)
فئة مدينة (models.Model):
على & nbsp؛ # ... إعلانات الميدان
على & nbsp؛ كائنات = CityManager ()
على & nbsp؛ # نتيجة أسلوب نموذج مخبأ جانغو المثال من خلال المثال PK
على & nbsp؛cached (30، تختلف "self.pk '=)
على & nbsp؛ has_offers مواطنه (النفس):
على & nbsp؛ عودة self.offer_set.count ()> 0
# إبطال أساليب نموذج
إبطال (City.has_offers، {'self.pk': 1}
ملاحظات
إذا ترجع الدالة زينت سيتم تجاوزها مخبأ cache_utils2.NO_CACHE.
تشغيل الاختبارات
الحصول على شفرة المصدر وتشغيل runtests.py
المتطلبات:.
بيثون
جانغو
لم يتم العثور على التعليقات