我正在撰写博客应用程序。所有页面(帖子列表,帖子的详细信息)都是静态的,我可以预测何时必须更新(例如,当我写新帖子或添加评论时)。我可以使用@cache_page来缓存整个视图。
唯一的问题是,在每个页面中,我都有一些从Twitter收集的数据,我希望每5分钟更新一次。
Django提供模板缓存,每视图缓存和低级缓存框架。使用低级框架,我可以避免计算必须在页面上显示的大部分内容(如缓存发布查询,评论,标签......)。
解决我问题的最佳方法是什么?如何积极地缓存视图/模板的几乎所有内容,但只有几个部分?
我想避免使用iframe。
由于
答案 0 :(得分:1)
你不能为缓存排除Django模板的某些部分,不应该在我知道的任何其他模板引擎中工作。
我的建议是使用JavaScript异步加载你不断变化的内容。使用Twitter应该特别容易,因为它已经提供了一个很棒的API。
它并不适合您,您始终可以使用Django template caching来缓存模板的部分内容。
答案 1 :(得分:0)
一个选项可能是在服务器上设置Varnish。我自己并不熟悉Varnish,但据我了解,您可以使用Edge Side Includes仅缓存页面的某些片段。
显然它可能不适合您的使用案例,但听起来似乎是一种可能性。