0

用例是我想每天静态渲染一个视图。似乎应该有一种非常标准的方式来获取视图/模板并每天呈现静态内容,而无需简单地说“编写自定义管理命令”或填充静态文件的相对简单的命令模板。

原因是删除大量数据库查询以使站点快速变轻,即使在轻量级 vps 上也只需每天触摸数据库而不是每次页面查看。

如果有更好的方法可以做到这一点,我对此持开放态度。似乎最好的方法是定期渲染静态视图,并在它触及 django 之前缓存其中的废话。

4

1 回答 1

1

我知道有几种方法可以解决这个问题:
1. 您可以使用Varnish(如本文所述)。然而,这个解决方案需要更多时间才能进入,因为它是您必须处理的副技术。维护它也需要更多的努力。
2. 更多“django-side”解决方案是使用 django-celery 进行日常渲染视图并将其存储在缓存中。您可以将所有静态视图逻辑移动到任务中并每天在那里渲染一次。在您看来,您可以从缓存中获取渲染响应并将其返回给用户。
3.您也可以使用django per-view缓存并在celery中创建任务以每天清除缓存。

于 2013-10-13T17:03:48.237 回答