0

我的模板变得很长,所以我将一个部分拆分为一个相关的部分模板。

我的长模板现在可以调用..

{% include "shorttemplate.html" %}

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

我使用该include命令只是为了组织清晰——我什至没有在其他地方重用这个短子模板,我只是想把这个单元从长模板中移出。

有没有办法在渲染 html 之前要求所有烧瓶代码执行,这样我就看不到这种闪烁?

4

1 回答 1

1

闪烁是因为页面加载时间较长,这不取决于 Flask 代码是在呈现 HTML 之前还是之后执行(尽管它仅在您调用 时发生render_template)。浏览器只是显示一个中间状态,当页面加载足够快时通常看不到。如果您遇到这样的过滤器问题,您可以

  • 通过优化您的代码或替换您使用的组件来改进您的服务器软件堆栈,
  • 通过投入更多资源来使用(更快的 CPU、更多内存、更快的存储)来改进您的服务器硬件,或者
  • 通过避免重新加载整个页面并使用 AJAX 仅更新需要它的部分来改进您的客户端代码。
于 2012-12-07T23:20:11.983 回答