如何在CBV上使用缓存?
我把它添加到我的settings.py中
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:8000',
}
}
我的urls.py:
url(r'^(?P<resolution>[0-9]+x[0-9]+)/$', cache_page(60 * 60)(ImageView.as_view()))
这是我的views.py:
class ImageView(ListView):
model = DummyImage
template_name = 'dummy_images/images.html'
def get_context_data(self, **kwargs):
"""Split resolution string by 'x' character."""
width = self.kwargs['resolution'].split('x')[0]
height = self.kwargs['resolution'].split('x')[1]
dummy_images = DummyImage.objects.all()
dummy_images_counter = DummyImage.objects.all().count()
random_image = get_object_or_404(DummyImage, pk=dummy_images[random.randrange(0, dummy_images_counter)].id)
context = {'width': width, 'height': height, 'img': random_image, }
return context
我想使用memcache在cache中保存random_image并将其显示在我的一个模板中。我该怎么做?我花了几个小时阅读堆栈上的文档和答案,但我找不到任何东西。