7
私がしたいことが可能かどうかは分かりません:親テンプレートのブロックを子テンプレートに含まれるファイルで埋めようとしています親のjinja2で親のためにインクルードされたファイルのブロックを使用する
ファイルt1.djhtml:
<root>
<block t3_container>
{% block t3 %}This should be 'CONTENT'{% endblock %}
</block t3_container>
<block t2_container>
{% block t2 %}{% endblock %}
</block t2_container>
</root>
ファイルt2.djhtml:
{% extends 't1.djhtml' %}
{% block t2 %}
<block t2>
{%- include 't3.djhtml' with context %}
</block t2>
{% endblock %}
ファイルT3
これを説明する最良の方法は、テストケースであります.djhtml:
{% block t3 %}
<block t3>
CONTENT
</block t3>
{% endblock %}
ファイルtest.py:
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader(''))
t=env.get_template('t2.djhtml')
print t.render()
出力は次のようになります。
<root>
<block t3_container>
This should be 'CONTENT'
</block t3_container>
<block t2_container>
<block t2>
<block t3>
CONTENT
</block t3>
</block t2>
</block t2_container>
</root>
t2
ブロックが空であるべきであり、t3_container
は内部ブロックt3
のコンテンツを持っている必要があります。これをどのように達成するのですか?
戻ってあなたのソリューション@リチャードを追加していただきありがとうございます!このソリューションは素晴らしく、私の夜を救った – gtalarico