-->

在Django管理改变页面的内容浏览器的延迟(缓存,蟒蛇/ Django的)(Browser del

2019-09-20 08:13发布

我有我的Django项目有点怪问题女巫缓存。

我可以编辑Django的管理我的网页内容。 当我这样做,并刷新网站 - 什么也没有发生。 我不得不等待几分钟更改。 有趣的是,当我改变浏览器(或计算机) - 我没有等待 - 在变化上。 它是Django的,浏览器还是什么问题? 是否有可能设置setting.py立刻得到改变?

顺便说一句,我已经想通了,当我打开“django.middleware.cache.FetchFromCacheMiddleware”关中 - 这个问题在前看不见,但我不想把缓存关闭...

有任何想法吗?

Answer 1:

是。 如果你想保持你的整个网站的缓存,但要确保高速缓存得到,只要你的内容被更新或清除增加,可以实现一个Django的信号来检测添加/更新/删除事件和清除缓存。

Django的信号- https://docs.djangoproject.com/en/dev/ref/signals/

下面是一个代码片段例如: -

from django.db.models.signals import post_save

@receiver(post_save, sender=BlogPost)
def clear_cache(sender, instance, created, **kwargs):
    if instance.published_on is not None:
        cache.delete('feed')

在这个例子中,每当博客帖子模式是“保存”(添加或更新),在feed中的缓存键将被删除。 在你的情况,你将必须实现page-content (像这样的东西cache.delete('page-content')并决定哪些相应的模型将是您sender触发缓存清理被保存时。



文章来源: Browser delay with changing content of the page in django admin (caching, python/django)