這里舉例:監(jiān)聽YourModel的post_save信號漆腌,這個(gè)信號會在模型實(shí)例保存后發(fā)送贼邓。當(dāng)接收到這個(gè)信號時(shí),我們就清除緩存闷尿。
1塑径、創(chuàng)建signals.py文件
from django.core.cache import caches
from django.db.models.signals import post_save
from django.dispatch import receiver
from myapp.models import YourModel
@receiver(post_save, sender=YourModel)
def clear_cache(sender, **kwargs):
caches['default'].delete(key)
2、在應(yīng)用的 apps.py 文件中填具,應(yīng)用配置類的 ready 方法中導(dǎo)入你的信號统舀。這樣可以確保當(dāng) Django 啟動(dòng)時(shí),你的信號接收器被正確連接劳景。
from django.apps import AppConfig
class YourAppConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'your_app' # 請用你的實(shí)際應(yīng)用名稱替換 'your_app'
def ready(self):
# 導(dǎo)入你的信號模塊
# 請用你的實(shí)際應(yīng)用名稱替換 'your_app'
import your_app.signals #信號文件路徑