Jinja: Não é possível substituir bloqueios em modelos incluídos

Criado em 8 jan. 2013  ·  3Comentários  ·  Fonte: pallets/jinja

Estamos tentando substituir um bloco em um modelo incluído como este:

#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 %}

Ao executar o arquivo hello.jinja2, vemos esta saída

    Default master content
    Default master content
Overridden master content

Eu esperava que pelo menos o segundo conteúdo principal padrão fosse substituído pelo conteúdo substituído.

Isso eu acho que é o bug.

Todos 3 comentários

Duplicado.

do?

Edit: de qual problema é uma duplicata?

ugh, para piorar as coisas, os templates Django também não fazem isso (veja a nota no final: https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#include)

pensei que talvez o jinja2 o fizesse, isso me pouparia um monte de duplicações> _ <

de qualquer forma, acho que terei que encontrar uma maneira de simplificar as coisas :(

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

delroth picture delroth  ·  4Comentários

priestc picture priestc  ·  5Comentários

htgoebel picture htgoebel  ·  4Comentários

glasserc picture glasserc  ·  4Comentários

hvnsweeting picture hvnsweeting  ·  4Comentários