Weitere Informationen finden Sie unter https://github.com/mitsuhiko/jinja2/pull/84#issuecomment -19208621.
Zurückgestellt, wird in der nächsten Wartungsversion enthalten sein.
Wurde das jemals behoben? Ich habe immer noch diesen Fehler (wie #169 und #84).
Der Fehler besteht immer noch.
Dieser Fehler wurde behoben. Ursprünglich führte #84 Blocküberschreibungen in Include-Tags ein und wurde später zusammengeführt, aber seitdem hat es einige Vorlagen-Setups (Rekursion auf duplizierte Blöcke) gebrochen, daher dieses Problem.
Da das Template-Verhalten nicht geändert werden sollte, setzt @mitsuhiko den Patch zurück.
Wenn Sie Blocküberschreibungen unterstützen möchten, erstellen Sie bitte ein neues Problem und möglicherweise einen Vorschlag für eine funktionierende Lösung.
Es sollte so einfach sein, Include mit Blocküberschreibungen bereitzustellen, während die Kompatibilität der aktuellen Implementierung von Include beibehalten wird, indem einfach unterschiedliche Vorlagen-Tag-Namen verwendet werden:
{% include 'file.jinja2' %}
überschreibt die enthaltenen Blöcke nicht, während:
{% include_override 'file.jinja2' %}
macht dasselbe.
Es ist sehr seltsam, dass eine solche Funktionalität so lange nicht implementiert wird, da Jinja2 in den meisten Funktionen sehr leistungsstark ist, tatsächlich eine der besten Template-Engines überhaupt, nicht nur für Python.
Vor allem, wenn bereits ein Patch erstellt wurde.
Hilfreichster Kommentar
Es sollte so einfach sein, Include mit Blocküberschreibungen bereitzustellen, während die Kompatibilität der aktuellen Implementierung von Include beibehalten wird, indem einfach unterschiedliche Vorlagen-Tag-Namen verwendet werden:
überschreibt die enthaltenen Blöcke nicht, während:
macht dasselbe.
Es ist sehr seltsam, dass eine solche Funktionalität so lange nicht implementiert wird, da Jinja2 in den meisten Funktionen sehr leistungsstark ist, tatsächlich eine der besten Template-Engines überhaupt, nicht nur für Python.
Vor allem, wenn bereits ein Patch erstellt wurde.