Nie jestem pewien, czy to, co chcę zrobić, jest możliwe: Próbuję uzyskać blok w szablonie nadrzędnym, który zostanie wypełniony przez plik zawarty w szablonie podrzędnym rodzica.Użyj bloków z dołączonych plików dla rodzica w jinja2
Najlepszym sposobem, aby wyjaśnić, że jest to przypadek testowy:
pliku 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>
pliku t2.djhtml:
{% extends 't1.djhtml' %}
{% block t2 %}
<block t2>
{%- include 't3.djhtml' with context %}
</block t2>
{% endblock %}
pliku t3 .djhtml:
{% block t3 %}
<block t3>
CONTENT
</block t3>
{% endblock %}
pliku test.py:
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader(''))
t=env.get_template('t2.djhtml')
print t.render()
Wyjście jest:
<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>
Blok t2
powinna być pusta, a t3_container
powinien mieć treść t3
blok jest w środku. Jak to zrobić?
Dziękujemy za powrót i dodanie rozwiązania @Richard! To rozwiązanie działało świetnie i właśnie uratowało moją noc – gtalarico