0

非常に長くなるテンプレートがあったため、セクションを関連する部分テンプレートに分割しました。

私の長いテンプレートには、..への呼び出しがあります。

{% include "shorttemplate.html" %}

初期化。これは、長いテンプレートから必要なものすべてを適切に継承していますが、短いテンプレートのコンテンツのロード時にちらつきを生成するようです-それらは存在しませんが、突然存在します. HTMLがレンダリングされる前にインクルージョンが発生するべきではありませんか? このちらつきが見られるのはなぜですか?

このコマンドを使用しているのはinclude、組織を明確にするためだけです--- この短いサブテンプレートを別の場所で再利用するつもりはありません。このユニットを長いテンプレートから移動したかっただけです。

このちらつきが表示されないように、html をレンダリングする前にすべてのフラスコ コードを実行するように要求する方法はありますか?

4

1 に答える 1

1

ページの読み込みに時間がかかるため、ちらつきが発生します。これは、Flask コードが HTML のレンダリングの前または後に実行されるかどうかに依存しません (ただし、 を呼び出したときにのみ発生しますrender_template)。ブラウザーは、ページの読み込みが十分に高速なときに通常は表示されない中間状態を表示するだけです。このようなフィッカーに問題がある場合は、次のいずれかを実行できます

  • コードを最適化したり、使用するコンポーネントを置き換えたりして、サーバー ソフトウェア スタックを改善します。
  • 使用するリソースを増やしてサーバー ハードウェアを改善する (より高速な CPU、より多くのメモリ、より高速なストレージ)、または
  • ページ全体のリロードを回避し、AJAX を使用して必要な部分だけを更新することで、クライアント コードを改善します。
于 2012-12-07T23:20:11.983 に答える