如何为某些 Django Rest Framework 视图启用 @cache_page?
How to enable @cache_page for some of the Django Rest Framework views?
我有基本的休息框架设置:
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()
这是行不通的。我怎样才能正确包装这些视图?
使用相同的装饰器,您可以在 url 模式中使用 class 视图作为简单视图(使用 .as_view
方法)
from django.views.decorators.cache import cache_page
urlpatterns = ('',
url(r'^items/$', cache_page(60 * 60)(ItemList.as_view()), name='item-list')
)
我有基本的休息框架设置:
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()
这是行不通的。我怎样才能正确包装这些视图?
使用相同的装饰器,您可以在 url 模式中使用 class 视图作为简单视图(使用 .as_view
方法)
from django.views.decorators.cache import cache_page
urlpatterns = ('',
url(r'^items/$', cache_page(60 * 60)(ItemList.as_view()), name='item-list')
)