在我看来,我经常使用APIView的as_view()
来生成json。DRF,为as_view()缓存?
我想缓存响应,并尝试了以下,但它不会工作
def some_complex_view(self, request, *args, **kwargs):
pass
@method_decorator(cache_page(60, key_prefix='drf'))
def dispatch(self, request, *args, **kwargs):
return super().dispatch(request, *args, **kwargs)
然后,我打电话
def my_view(request, *args, **kwargs):
json_data = MyViewSet.as_view({'get': 'some_complex_view'})(request, format='json')
data = {
'my_data': json_data
}
return render(request, 'my_template.html', data)
它正确地缓存,当我使用浏览器请求的观点,但它不会在使用as_view()
如何直接调用视图时构造请求? – knbk
什么是你的Django版本? –
@knbk:我在django查看功能,它有'请求' – eugene