Jinja: Rastreamento de identificador adequado

Criado em 13 mar. 2011  ·  3Comentários  ·  Fonte: pallets/jinja

Atualmente, o rastreamento do identificador é muito bruto e se baseia apenas em variáveis ​​de prefixação. A ideia seria manter algumas variáveis ​​únicas reescritas em identificadores exclusivos que também podem ser revertidos.

Isso deve tornar desnecessário o uso de locals () em todo o código e corrigir alguns problemas com identificadores sobre os limites da função.

Comentários muito úteis

Isso finalmente está feito.

Todos 3 comentários

Como você sabe que é afetado por esse problema? Você obtém algo semelhante a "Variável não consolidada l_SOMETHING" encontrado.

De #pocoo agora mesmo:

magicbronson: hey mitsuhiko et al., trying to render a Jinja template in a Flask app and getting a very mysterious message: "global name 'l_config' is not defined"
magicbronson: l_config appears nowhere in my code or libraries'
mitsuhiko: magicbronson: that's the scoping bug that i will fix over this summer 
mitsuhiko: {% macro foo() %}{{ config }}{% for config in something_else %}{{config}}{% endfor %}{% endmacro %}
mitsuhiko: something like this triggers the bug currently
mitsuhiko: magicbronson: rename the variable inside of the macro to something else
mitsuhiko: {% set cfg = config %}
mitsuhiko: outside the macro
mitsuhiko: or something

A sugestão de Armin contornou o problema.

Isso finalmente está feito.

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