使用中间件或自定义模板标记来不常更改代码段

时间:2009-09-21 09:07:33

标签: django django-templates django-middleware django-cache

我的侧边栏中有一个我想要的小片段。这个片段在每个页面上都是可见的,虽然价格便宜(我的超慢速上网本大约50毫秒!),但很少会改变,我很想缓存它(部分是因为我还没有使用Django的缓存框架,我想学习)。

我不确定这里最好的方法是 - 中间件还是自定义模板标签?我不确定用这些方法实现缓存是多么容易。这是一个非常标准的事情(即每个页面上可见的片段的片段缓存),我确信有一种 Djangonic 方式可以做到,但我找不到它是什么。

你是怎么做到的?

2 个答案:

答案 0 :(得分:4)

这听起来很适合Template fragment caching

答案 1 :(得分:2)

我认为你不需要使用中间件。自定义模板标记适用于此。由于您正在执行类似状态消息的操作,因此它与当前视图无关,因此标记绝对合适。

只需设置缓存后端(this is very easy to do),您就可以访问cache.set()cache.get()方法,您可以使用这些方法存储和检索状态消息。每当状态消息更新时,请务必清除缓存。