args = md5_constructor(u':'.join([urlquote(resolve_variable(var, context)) for var in self.vary_on]))
cache_key = 'template.cache.%s.%s' % (self.fragment_name, args.hexdigest())
from django.utils.hashcompat import md5_constructor
from django.utils.http import urlquote
def someView(request):
variables = [var1, var2, var3]
hash = md5_constructor(u':'.join([urlquote(var) for var in variables]))
cache_key = 'template.cache.%s.%s' % ('table', hash.hexdigest())
if cache.has_key(cache_key):
#do some stuff...
我使用cache标记的方式是:
^{pr2}$
{cd2>可能需要清空列表。
因此,您的variables和缓存{}将如下所示:
variables = []
hash = md5_constructor(u':'.join([urlquote(var) for var in variables]))
cache_key = 'template.cache.%s.%s' % ('stats', hash.hexdigest())
查看
cache
templatetag的代码,生成的键如下所示:因此,您可以在视图中构建类似的东西来直接获取缓存:在您的例子中,您没有使用任何
vary_on
参数,所以可以使用空参数来md5_constructor
。在以下是我在项目中访问模板缓存的方式:
我使用
^{pr2}$cache
标记的方式是:{cd2>可能需要清空列表。 因此,您的}将如下所示:
variables
和缓存{相关问题 更多 >
编程相关推荐