为什么Django的每站点缓存中间件不能为我工作?

Bel*_*dez 5 python django memcached django-middleware django-cache

我正在使用Django 1.3 beta 1并设置memcached.我对settings.py每个Django的指令进行了更改:

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

MIDDLEWARE_CLASSES = (
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',
    #'debug_toolbar.middleware.DebugToolbarMiddleware',
)
CACHE_MIDDLEWARE_SECONDS = 100000
CACHE_MIDDLEWARE_KEY_PREFIX = 'site_cache'
Run Code Online (Sandbox Code Playgroud)

这是我正在尝试的测试视图功能:

def home(request):

    print 'uncached'

    # ...View's code...
Run Code Online (Sandbox Code Playgroud)

我总是uncached打印在开发服务器的输出上,我总是得到数据库的命中.为什么?我是否遗漏了某些内容或者完全误解了缓存?

编辑#1:

模板片段缓存工作完全正常.我只是错过了一些东西吗?请帮忙.

Jos*_*ton 0

看来您已正确设置所有内容。我在文档中看到的唯一可能的警告如下:

The cache middleware caches every page that doesn't have GET or POST parameters.
Run Code Online (Sandbox Code Playgroud)

不幸的是,我假设您已经知道这一点,但这对您没有帮助。