【问题标题】:How to enable @cache_page for some of the Django Rest Framework views?如何为某些 Django Rest Framework 视图启用 @cache_page?
【发布时间】:2015-05-24 08:53:21
【问题描述】:

我有基本的休息框架设置:

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()

这是行不通的。如何正确包装这些视图?

【问题讨论】:

标签: python django django-rest-framework django-cache


【解决方案1】:

使用相同的装饰器,您可以在带有类视图的 url 模式中使用简单视图(使用 .as_view 方法)

from django.views.decorators.cache import cache_page

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

【讨论】:

    猜你喜欢
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    相关资源
    最近更新 更多