0

我正在写一个博客应用程序。所有页面(帖子列表、帖子详细信息)都是静态的,我可以预测何时必须更新(例如,当我写新帖子或添加评论时)。我可以使用@cache_page 来缓存整个视图。

唯一的问题是,在每个页面中,我都有一些从 Twitter 收集的数据,我想每 5 分钟更新一次。

Django 提供模板缓存、按视图缓存和低级缓存框架。使用低级框架,我可以避免计算页面上必须显示的大部分内容(如缓存 Post 查询、评论、标签......)。

解决我的问题的最佳方法是什么?如何积极缓存视图/模板的几乎所有内容,但只有几个部分?

我想避免使用 iframe。

谢谢

4

2 回答 2

1

您不能为缓存排除 Django 模板的某些部分,这不应该在我知道的任何其他模板引擎中工作。

我的建议是使用 JavaScript 异步加载你不断变化的内容。使用 Twitter 应该特别容易,因为它已经提供了一个很棒的 AP​​I。

它不适合你,你总是可以使用Django 模板缓存,只缓存你的模板的一部分。

于 2015-03-17T09:20:17.950 回答
0

一种选择可能是在服务器上设置 Varnish。我自己不熟悉 Varnish,但据我了解,您可以使用Edge Side Includes仅缓存页面的某些片段。

显然它可能不适合您的用例,但听起来很有可能。

于 2015-03-17T09:37:25.500 回答