Jinja: Blöcke in enthaltenen Vorlagen können nicht überschrieben werden

Erstellt am 8. Jan. 2013  ·  3Kommentare  ·  Quelle: pallets/jinja

Wir versuchen, einen Block in einer enthaltenen Vorlage wie folgt zu überschreiben:

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

Beim Ausführen der Datei hello.jinja2 sehen wir diese Ausgabe

    Default master content
    Default master content
Overridden master content

Ich hätte erwartet, dass mindestens der zweite Standard-Master-Inhalt durch den überschriebenen Inhalt ersetzt wird.

Das ist meiner Meinung nach der Fehler.

Alle 3 Kommentare

Duplikat.

von?

Edit: Von welchem ​​Problem ist das ein Duplikat?

ähm, zu allem Überfluss tun es Django-Templates auch nicht (siehe Hinweis am Ende: https://docs.djangoproject.com/en/1.11/ref/templates/builtins/#include)

Ich dachte, vielleicht würde Jinja2 es tun, es würde mir eine Menge Duplikate ersparen >_<

Wie auch immer, ich denke, ich muss nur einen Weg finden, die Dinge zu vereinfachen :(

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen