Non sono sicuro se ciò che voglio fare è possibile: sto cercando di ottenere un blocco in un modello padre da compilare da un file incluso in un modello figlio del genitore.Usa blocchi da file inclusi per genitore in jinja2
Il modo migliore per spiegare questo è un banco di prova:
File 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>
File t2.djhtml:
{% extends 't1.djhtml' %}
{% block t2 %}
<block t2>
{%- include 't3.djhtml' with context %}
</block t2>
{% endblock %}
File t3 .djhtml:
{% block t3 %}
<block t3>
CONTENT
</block t3>
{% endblock %}
File test.py:
from jinja2 import Environment, FileSystemLoader
env = Environment(loader=FileSystemLoader(''))
t=env.get_template('t2.djhtml')
print t.render()
Il risultato è:
<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>
Il blocco t2
dovrebbe essere vuoto, e t3_container
dovrebbe avere un contenuto di blocchi t3
s' interno. Come posso realizzare questo?
Grazie per essere tornato e aver aggiunto la soluzione @Richard! Questa soluzione ha funzionato benissimo e mi ha appena salvato la notte – gtalarico