2015-10-21 55 views
0

我想要保存帶有動態數據的模板,當我請求時它應該呈現保存的頁面而不是再次查詢數據庫。我的應用程序在views.py下面是我的示例代碼。請幫忙。如何用django中的動態數據保存模板

def severity_wise(request): 
    sev_chart=[["Severity","No. of Bugs"]] 
    sev_list=["1","2","3","4","5","6"] 

    for i in sev_list: 
      sev=dev_report.objects.filter(Q(severity=i),Q(status='S')|Q(status='N')|Q(status='A')|Q(status='O')|Q(status='W')|Q(status='I')|Q(status='P')|Q(status='H')) 
    list=["S"+i,len(sev)] 
    sev_chart.append(list) 
    sev_table=sev_chart[1:] 
return render(request, 'WASS/severity_wise.html',{'sc':sev_chart , 'sl':sev_table }) 
+0

爲什麼你不緩存視圖? – e4c5

回答

0

您可以使用cache_page修飾符來達到同樣的效果。

@cache_page(60 * 15) 
def severity_wise(request): 
    sev_chart=[["Severity","No. of Bugs"]] 
    ...... 

進一步的閱讀click here

+0

感謝您的回答,但我希望頁面每次加載更快。 – KALYANnakkina

+0

緩存用於相同的原因。嘗試花點時間閱讀更多有關同樣的內容。您使用文件寫入的方式不是一種可擴展的方法。將來您可能會運行應用程序的並行實例,這會導致多餘的文件。 –

0

您好我找到了另一種方法,渲染到文件。

from django.template.loader import render_to_string 
open(filename, "w").write(render_to_string(template, context)) 

我在另一個應用程序中調用文件名(呈現頁面)。