Flask Jinja中的“Include”导致模板加载速度变慢?

时间:2012-12-05 21:50:59

标签: python flask jinja2

我有一个很长的模板,所以我将一个部分拆分成一个相关的部分模板。

我的长模板现在打电话给..

{% include "shorttemplate.html" %}

在里面。这是从长模板中适当地继承我需要的所有东西,但似乎产生了一个短模板内容的有载闪烁 - 它们不存在,然后突然出现。不应该在html渲染之前发生包含吗?为什么我会看到这个闪烁?

我正在使用include命令只是为了清晰组织---我甚至没有在其他地方重复使用这个简短的子模板,我只想将这个单元移出长模板。

有没有办法在渲染html之前要求所有刻录代码执行,以便我看不到这个闪烁?

1 个答案:

答案 0 :(得分:1)

闪烁是因为页面加载时间较长,这并不取决于Flask代码在呈现HTML之前或之后是否执行(尽管只在您调用render_template时才会发生)。浏览器只显示一个中间状态,当页面加载速度足够快时,您通常不会看到该状态。如果你对这样的filckers有问题,你可以

  • 通过优化代码或替换您使用的组件来改进服务器软件堆栈
  • 通过投入更多资源(更快的CPU,更多内存,更快的存储空间)或
  • 来改善您的服务器硬件
  • 改进您的客户端代码,避免重新加载整个页面,并使用AJAX更新只需要它的部分。