我有一个 Django 应用程序托管在由 NGINX 提供服务的 Linux 服务器上。名为 DashboardView 的视图显示来自 Postgresql 数据库的数据。此数据库由独立于...的进程定期更新。
我有一个 Django 应用程序托管在由 NGINX 提供服务的 Linux 服务器上。
名为 DashboardView 的视图显示来自 Postgresql 数据库的数据。此数据库由独立于 Django 应用的进程定期更新。
为了始终显示最新数据,我已将视图设置为永不缓存。然而,这似乎在浏览器中查看时不适用。我强制通过视图显示更新数据的唯一方法是通过服务器上的 GUNICORN 重启。
当我查看 Google Chrome devtools 中的网络详细信息时,一切看起来都设置正确。请参阅下面显示的缓存控制详细信息。
max-age=0,无缓存,无存储,必须重新验证,私有
请参阅下面的 Django 代码,在 DashboardView 上设置永不缓存。
from django.utils.decorators import method_decorator
from django.views.decorators.cache import never_cache
class NeverCacheMixin(object):
@method_decorator(never_cache)
def dispatch(self, *args, **kwargs):
return super(NeverCacheMixin, self).dispatch(*args, **kwargs)
class DashboardView(NeverCacheMixin, TemplateView):
...................code for view.............
我不知道下一步该看什么。GUNICORN 重启后,会话 ID 似乎没有改变,所以我认为这与此无关。
这可能是哪里失败了?