5

私は基本的な残りのフレームワークのセットアップを持っています:

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

これは機能しません。これらのビューを適切にラップするにはどうすればよいですか?

4

1 に答える 1

8

.as_view同じデコレータを使用して、クラスビューを単純なビューとして(メソッドを使用して)URLパターンで使用できます

from django.views.decorators.cache import cache_page

urlpatterns = ('',
    url(r'^items/$', cache_page(60 * 60)(ItemList.as_view()), name='item-list')
)
于 2015-03-20T20:47:56.983 に答える