3

重複の可能性:
jinja2 の親にインクルード ファイルのブロックを使用する

  1. 基本的なテンプレート:

    {% include "include.html" %}
    
  2. 同梱ファイル

    {% block somethingnew %}{% endblock somethingnew %}
    
  3. テンプレート

    {% extends "basictemplate.html" %}
    {% block somethingnew %} HEY LOOK AT ME {% endblock somethingnew %}
    

3 は、含まれているファイルのブロックをレイアウトからレンダリングしません。より複雑な例があります。たとえば、ナビゲーション ブロックやコンテンツ ブロックなどの独自のブロックを含むいくつかのインクルード ファイルにメイン レイアウトを分割しようとしましたが、そのレイアウトを拡張するテンプレートはインクルード ファイルのブロックに情報を入れることができません。理由はなんとなくわかりますが、この辺りに何かありますか?メインのレイアウト ファイルが大きくなってきたので、それぞれが独自のブロックを含む、より管理しやすいセクションに分割したいと考えています。できる場合、これを行うにはどうすればよいですか?

4

0 に答える 0