2015-10-21 54 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)) 

我在另一个应用程序中调用文件名(呈现页面)。