Jinja: Autoriser les remplacements de blocs dans les balises d'inclusion provoque un comportement inattendu.

Créé le 10 juin 2013  ·  5Commentaires  ·  Source: pallets/jinja

Commentaire le plus utile

Il devrait être si facile de fournir des remplacements de blocs avec inclusion tout en conservant la compatibilité de l'implémentation actuelle d'inclusion simplement en utilisant un nom de balise de modèle différent :

{% include 'file.jinja2' %}

ne remplace pas les blocs inclus, tandis que :

{% include_override 'file.jinja2' %}

fait de même.

Il est très étrange qu'une telle fonctionnalité ne soit pas implémentée depuis si longtemps, sachant à quel point Jinja2 est très puissant dans la plupart des fonctionnalités, en fait l'un des meilleurs moteurs de modèles, pas seulement pour Python.

Surtout s'il y avait déjà un patch réel fait.

Tous les 5 commentaires

Rétabli, va être dans la prochaine version de maintenance.

Cela a-t-il déjà été corrigé ? Je rencontre toujours ce bug (identique à #169 et #84).

Le bug existe toujours.

Ce bug a été corrigé. À l'origine, #84 a introduit des remplacements de bloc dans les balises d'inclusion et a été fusionné plus tard, mais il a depuis cassé la configuration de certains modèles (récursivité sur le bloc dupliqué), d'où ce problème.

Étant donné que le comportement du modèle ne doit pas être modifié, @mitsuhiko rétablit le correctif.

Si vous souhaitez prendre en charge les remplacements de blocs, veuillez créer un nouveau problème et peut-être une solution de travail proposée.

Il devrait être si facile de fournir des remplacements de blocs avec inclusion tout en conservant la compatibilité de l'implémentation actuelle d'inclusion simplement en utilisant un nom de balise de modèle différent :

{% include 'file.jinja2' %}

ne remplace pas les blocs inclus, tandis que :

{% include_override 'file.jinja2' %}

fait de même.

Il est très étrange qu'une telle fonctionnalité ne soit pas implémentée depuis si longtemps, sachant à quel point Jinja2 est très puissant dans la plupart des fonctionnalités, en fait l'un des meilleurs moteurs de modèles, pas seulement pour Python.

Surtout s'il y avait déjà un patch réel fait.

Cette page vous a été utile?
0 / 5 - 0 notes