2011-09-12 6 views
2

하나의 장고 프로젝트에서 여러 캐싱 엔진을 사용하고 싶습니다. 예를 들어 sorl.thumbnail을 사용하면 모델 이미지의 축소판을 가져 오거나 설정하기 위해 많은 sql 쿼리를 생성합니다. 이 쿼리를 캐싱하려면 memcached 백엔드를 사용합니다. 그러나 다른 캐시가 작동을 멈추었습니다. 템플릿 캐싱을 {% cache ... %}으로, 그리고 cache.get(), cache.set()를 통해 캐시하는 것을 의미합니다. 나는이장고 다중 캐시 백엔드

CACHES = { 
'default': { 
    'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 
    'LOCATION': '127.0.0.1:11211', 
    }, 
'filebased': { 
    'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 

    } 

}

과 같이되고 싶어 어떻게 템플릿에 'filebased'캐시를 사용할 수 있습니까? {% 캐시 %}는 memcached를 백엔드를 사용하며, 특히 당신이 할 수있는 API를 통해 나무에게 (장고 - mptt)

답변

4

를 사용하여, 많은 쿼리를 생성하기 때문에 :

from django.core import cache 
filebased_cache = cache.get_cache('filebased') 
filebased_cache.set('blah', 1) 

내가 템플릿 캐시 두려워를 기본값 이외의 것을 사용하는 방법을 제공하지 않습니다. 이 작업을 원하면 직접 작성해야합니다.