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'裝飾做什麼的? –
對不起,我應該更詳細。我有一個後臺作業,我想定期調用我的視圖並緩存呈現的結果。該視圖需要很長時間才能在瀏覽器請求時呈現,並且內容僅在後臺作業運行時發生更改,從而以編程方式生成並緩存該內容。 –