Django cache_page()

时间:2016-11-15 18:20:59

标签: python django caching

如何在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并将其显示在我的一个模板中。我该怎么做?我花了几个小时阅读堆栈上的文档和答案,但我找不到任何东西。

0 个答案:

没有答案