如何为部分Django Rest Framework视图启用@cache_page缓存?

5

我已经完成了基本的REST框架设置:

url(r'^items/$', ItemList.as_view(), name='item-list'),
...
class ItemList(generics.ListCreateAPIView):
    model = Item
    serializer_class = ItemSerializer

我希望你能使用@cache_page装饰器来缓存这个请求。我尝试了一些愚蠢的方法,比如:
url(r'^items/$', cached_items, name='item-list'),
...
@cache_page(1000)
def cached_items(request):
    return ItemList.as_view()

哪些视图无法正常工作?我该如何正确地包装这些视图?

https://dev59.com/fmEi5IYBdhLWcg3wbrzS#21293871 - Ashwini Chaudhary
@AshwiniChaudhary 谢谢,你想把它发布为答案,这样我就可以接受它。 - serg
1个回答

8

使用相同的装饰器,您可以在类视图中像简单视图一样使用它(使用.as_view方法)。

from django.views.decorators.cache import cache_page

urlpatterns = ('',
    url(r'^items/$', cache_page(60 * 60)(ItemList.as_view()), name='item-list')
)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接