3
我在Django中呈现渲染速度非常慢的视图。我想呈现这个视图并以编程方式缓存它,但还没有想出如何这样做。有什么简单的方法来简单地调用我的StatusView
并获得标记为一个字符串,所以我可以缓存它?如何在Django中以编程方式渲染和缓存视图?
这是我的看法与缓存装饰:
class StatusView(ListView):
template_name = 'network/list.htm'
context_object_name = 'network'
def get_queryset(self):
return Network.objects.filter(date__lte=date.today()).order_by('-id')
def get_context_data(self, **kwargs):
context = super(StatusView, self).get_context_data(**kwargs)
...
...
return context
@method_decorator(cache_page(60 * 1))
def dispatch(self, *args, **kwargs):
return super(StatusView, self).dispatch(*args, **kwargs)
一半。我设法以编程方式呈现视图。现在我只需要缓存它。
str(StatusView(request=request).get(request).render())
是不是你用'cache_page'装饰做什么的? –
对不起,我应该更详细。我有一个后台作业,我想定期调用我的视图并缓存呈现的结果。该视图需要很长时间才能在浏览器请求时呈现,并且内容仅在后台作业运行时发生更改,从而以编程方式生成并缓存该内容。 –