Jinja: Permitir anulaciones de bloque en etiquetas de inclusión provoca un comportamiento inesperado.

Creado en 10 jun. 2013  ·  5Comentarios  ·  Fuente: pallets/jinja

Consulte https://github.com/mitsuhiko/jinja2/pull/84#issuecomment -19208621 para obtener más detalles.

Comentario más útil

Debería ser tan fácil proporcionar include con anulaciones de bloque mientras se mantiene la compatibilidad de la implementación actual de include simplemente usando un nombre de etiqueta de plantilla diferente:

{% include 'file.jinja2' %}

no anula los bloques incluidos, mientras que:

{% include_override 'file.jinja2' %}

hace lo mismo.

Es muy extraño que tal funcionalidad no se haya implementado durante tanto tiempo, sabiendo que Jinja2 es muy poderoso en la mayoría de las características, de hecho, uno de los mejores motores de plantillas, no solo para Python.

Especialmente si ya se hizo un parche real.

Todos 5 comentarios

Revertido, estará en la próxima versión de mantenimiento.

¿Se arregló esto alguna vez? Todavía estoy experimentando este error (igual que # 169 y # 84).

El error aún existe.

Este error se solucionó. Originalmente, el # 84 introdujo anulaciones de bloque en las etiquetas de inclusión y se fusionó más tarde, pero desde entonces ha roto la configuración de algunas plantillas (recursividad en el bloque duplicado), de ahí este problema.

Debido a que el comportamiento de la plantilla no debe cambiarse, @mitsuhiko revierte el parche.

Si desea admitir anulaciones de bloque, cree un nuevo problema y tal vez una solución de trabajo propuesta.

Debería ser tan fácil proporcionar include con anulaciones de bloque mientras se mantiene la compatibilidad de la implementación actual de include simplemente usando un nombre de etiqueta de plantilla diferente:

{% include 'file.jinja2' %}

no anula los bloques incluidos, mientras que:

{% include_override 'file.jinja2' %}

hace lo mismo.

Es muy extraño que tal funcionalidad no se haya implementado durante tanto tiempo, sabiendo que Jinja2 es muy poderoso en la mayoría de las características, de hecho, uno de los mejores motores de plantillas, no solo para Python.

Especialmente si ya se hizo un parche real.

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