django แคชล้าง-ตะขอเป็นแอพพลิเค Django นำมาใช้ใหม่ในการจัดการโมฆะแคช
app นี้โดยทั่วไปมีกลไกเพื่อให้ง่ายต่อการเรียกกลับขอลงในรูปแบบที่จะทำให้การแคช front-end ของคุณเมื่อมีความจำเป็น
ขณะนี้มีเพียงแบ็กเอนด์เคลือบเงาจะดำเนินการ แต่การออกแบบถูกสร้างขึ้นด้วยแบ็กเอนด์ที่เป็นไปได้อื่น ๆ ในใจ
การใช้งาน
เพิ่ม '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 (โพสต์)
ดังที่แสดงไว้ข้างต้นโมดูล cache_purge_hooks มี cache_purge_hook ฟังก์ชั่น Pass ในการเป็นอาร์กิวเมนต์แรกรุ่น หลังลูกหมูกลไกแคชบนอินสแตนซ์รุ่น get_absolute_url () วิธีการและล้างแคชแบ็กเอนด์สำหรับ 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')]
ในรูปแบบดังกล่าวข้างต้นเรามีบล็อกโพสต์รูปแบบหมวดหมู่ มัน get_absolute_url () วิธีการที่จะเชื่อมโยงไปยังเส้นทางที่มีชื่อเฉพาะที่กำหนดไว้ใน urls.py แต่การเปลี่ยนแปลงในประเภทใดจะต้องสะท้อนให้เห็นในหน้าแรกของบล็อก (พูดเช่นหน้าบ้านมีเมฆแท็กของทุกประเภท) หน้าเว็บที่จะต้องไม่ถูกต้องเมื่อข้อมูลเหล่านี้มีการเปลี่ยนแปลง
คุณต้องแจ้งให้ทราบอย่างชัดเจนนอกจากนี้ยังคว้า 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)
นี้ยังเป็นประโยชน์เพราะในกรณีข้างต้นเว็บไซต์ที่มีการใช้แอพพลิเคนำมาใช้ใหม่อีก (facebook_cached_comments) . นี้จะดีกว่าการเจาะขึ้นรหัสบุคคลที่สามเพื่อให้ get_absolue_urls ()
ต้องการ
- หลาม
- Django
- หลามวานิช
ความคิดเห็นที่ไม่พบ