tutorial significado sheet jinja cheat async python pyramid jinja2

python - significado - jinja2 django



Herencia Jinja2 con Bloques e Incluye (1)

base.html no se procesa porque no es invocado por ninguna plantilla. Lo que podrías hacer es un segundo nivel de extensión:

base.html:

<html>{% block html %}{% endblock %}</html>

content.html:

{% extends "base.html" %} {% block html %} <h1>{% block title %}Title{% endblock title%}</h1> <div>{% block content_body %}Content Body{% endblock content_body%}</div> {% endblock %}

Sin embargo, es probable que esto sea una exageración, es probable que encuentre que una sola plantilla base es suficiente (es decir, que combine base.html y content.html en una sola plantilla).

No puedo averiguar cómo modificar bloques de plantillas incluidas usando Jinja2. Aquí hay un ejemplo donde uso tres archivos.

base.html:

<html>{% include "content.html" %}</html>

content.html:

<h1>{% block title %}Title{% endblock title%}</h1> <div>{% block content_body %}Content Body{% endblock content_body%}</div>

story.html

{% extends "base.html" %} {% block title %}story.title{% endblock title %} {% block content_body %}story.description{% endblock content_body %}

Al renderizar story.html, obtendré:

<html> <h1>Title</h1> <div>Content Body</div> </html>

¿Cómo renderizaría con los valores esperados?