Jinja: No se pueden anular los bloques en las plantillas incluidas

Creado en 8 ene. 2013  ·  3Comentarios  ·  Fuente: pallets/jinja

Estamos tratando de anular un bloque en una plantilla incluida como esta:

#included.jinja2

{% block master %}
    Default master content
{% endblock %}
#base.jinja2
{% include "included.jinja2" %}
{% include "included.jinja2" with context %}

{% block master %}
Fnord
{% endblock master %}
#hello.jinja2
{% extends "base.jinja2" %}

{% block master %}

Overridden master content

{% endblock master %}

Al ejecutar el archivo hello.jinja2, vemos esta salida

    Default master content
    Default master content
Overridden master content

Hubiera esperado que al menos el segundo contenido maestro predeterminado fuera reemplazado por el contenido anulado.

Eso creo que es el error.

Todos 3 comentarios

Duplicar.

¿de?

Editar: ¿De qué problema es un duplicado?

uf, para empeorar las cosas, las plantillas de Django tampoco lo hacen (ver nota al final: https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#include)

pensé que tal vez jinja2 lo haría, me ahorraría muchísimas duplicaciones> _ <

de todos modos, supongo que tendré que encontrar una manera de simplificar las cosas :(

¿Fue útil esta página
0 / 5 - 0 calificaciones