django-แคช utils2 เป็น app Django ที่ให้มัณฑนากรแคชและฟังก์ชั่นโมฆะ
การติดตั้ง
PIP ติดตั้ง django-แคช utils2
การใช้งาน
นำเข้าจากแคช cache_utils2, โมฆะ
@cached (60)
def foo (x, y = 0):
& nbsp; พิมพ์ 'foo เรียกว่า'
& nbsp; กลับ x + y ที่
foo (1, 2) # foo เรียกว่า
foo (1, y = 2)
foo (5, 6) # foo เรียกว่า
foo (5, 6)
โมฆะ (foo {'x': 1, 'Y': 2})
foo (1, 2) # foo เรียกว่า
foo (5, 6)
foo (x = 2) # foo เรียกว่า
foo (x = 2)
ระดับฟู (วัตถุ):
& nbsp; @cached (60)
& nbsp; def foo (ตัวเอง, x, y):
& nbsp; พิมพ์ "foo เรียกว่า"
& nbsp; กลับ x + y ที่
obj = ฟู ()
obj.foo (1,2) # foo เรียกว่า
obj.foo (1,2)
โมฆะ (Foo.foo {'x': 1, 'Y': 2})
obj.foo (1,2) # foo เรียกว่า
ตัวอย่าง Django
จากรุ่นนำเข้า django.db
นำเข้าจากแคช cache_utils2, โมฆะ
ระดับ CityManager (models.Manager):
& nbsp; แคช # ผลวิธีการ 'ตัวเอง' พารามิเตอร์จะถูกละเว้น
& nbsp; @cached (60 * 60 * 24)
& nbsp; def เริ่มต้น (ตัวเอง):
& nbsp; กลับมา self.active () [0]
& nbsp; แคช # ผลวิธีการ 'ตัวเอง' พารามิเตอร์จะถูกละเว้น args และ
& nbsp; # kwargs จะใช้ในการสร้างคีย์แคช
& nbsp; @cached (60 * 60 * 24)
& nbsp; def ได้รับ (ตัวเอง * args ** kwargs):
& nbsp; ซุปเปอร์ผลตอบแทน (CityManager ตนเอง) รับการตอบสนอง (* args ** kwargs)
ระดับซิตี้ (models.Model):
& nbsp; # ... การประกาศเขต
& nbsp; วัตถุ = CityManager ()
& nbsp; # แคชผลวิธีการเช่นรูปแบบเช่น django โดย PK
& nbsp; @cached (30 แตกต่างกัน = 'self.pk)
& nbsp; def has_offers (ตัวเอง):
& nbsp; กลับมา self.offer_set.count ()> 0
โมฆะ # วิธีการรูปแบบ
โมฆะ (City.has_offers {'self.pk: 1}
หมายเหตุ
ถ้าฟังก์ชั่นการตกแต่งกลับ cache_utils2.NO_CACHE แคชจะถูกละเลย
การทดสอบการใช้งาน
. รับรหัสที่มาและเรียกใช้ runtests.py
ต้องการ
- งูใหญ่
- Django
ความคิดเห็นที่ไม่พบ