【发布时间】:2011-12-12 02:37:25
【问题描述】:
我在 Django Rest Framework 之上构建了一个 RESTful API。 API 的 URL 配置由基于类的视图组成。
我想缓存这些视图,但是,以下操作失败。关于为什么会这样以及如何改变它的任何想法?
from django.views.decorators.cache import cache_page
urlpatterns = patterns('',
url(r'^dounces/?$', cache_page(60*60)(DounceListView.as_view(resource=DounceResource)), name='dounces_api'),
我安装了以下中间件。
'django.middleware.gzip.GZipMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'django.contrib.redirects.middleware.RedirectFallbackMiddleware',
对于本地测试,我使用的是默认缓存后端:
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
【问题讨论】:
-
失败怎么办?出现错误,或者只是没有缓存页面?
-
无缓存。我添加了一个包含中间件的列表,以防我在那里遗漏了一些东西。
-
它是怎么失败的?你在运行 uwsgi 进程吗?如果是这样,那么如果您的页面在每个请求上生成不同的内容,那么每个进程都会有自己的缓存版本。
标签: django caching view django-views django-urls