μ£Όν:
{% set foo = "bar" %}
foo - {{ foo }}
{% for i in range(2) %}
for:foo - {{ foo }}
{% set foo = i %}
for:foo - {{ foo }}
{% endfor %}
{{ foo }}
{% block test %}
block:foo - {{ foo }}
{% set foo = "baz" %}
block:foo - {{ foo }}
{% endblock %}
foo - {{ foo }}
κ²°κ³Ό:
foo - bar
for:foo - bar
for:foo - 0
for:foo - 0
for:foo - 1
foo - bar
block:foo - bar
block:foo - baz
foo - bar
λ?
μ μ λ³μλ₯Ό ν λΉνλ λ°©λ²μ λ§λμμμ€.
μ’ λ μμΈν λ΄μ©μ μ€λͺ ν©λλ€. μ΄κ²μ λ΄λΆμμ μΌμ΄λλ μΌμ λν λλμ μ»κΈ° μν΄ μμ μ½λκ° λ³΄μ΄λ κ²μ λλ€.
from jinja2.runtime import LoopContext, TemplateReference, Macro, Markup, TemplateRuntimeError, missing, concat, escape, markup_join, unicode_join, to_string, identity, TemplateNotFound
name = None
def root(context, environment=environment):
...
l_foo = 'bar'
context.vars['foo'] = l_foo
context.exported_vars.add('foo')
yield u'\nfoo - %s\n\n' % (
l_foo,
)
t_1 = l_foo
l_i = missing
for l_i in context.call(l_range, 2):
if 0: yield None
yield u'\n for:foo - %s\n ' % (
l_foo,
)
l_foo = l_i
yield u'\n for:foo - %s\n ' % (
l_foo,
)
l_foo = t_1
l_i = missing
yield u'\n\n'
for event in context.blocks['test'][0](context):
yield event
yield u'\n\nfoo - '
yield to_string(l_foo)
def block_test(context, environment=environment):
l_foo = context.resolve('foo')
if 0: yield None
yield u'\n block:foo - %s\n ' % (
l_foo,
)
l_foo = 'baz'
yield u'\n block:foo - %s\n' % (
l_foo,
)
blocks = {'test': block_test}
debug_info = '2=8&3=12&5=16&6=19&7=21&8=23&11=28&17=31&11=33&12=37&13=39&14=41'
μμΈν λ΄μ©μ:
μ μ: http://jinja.pocoo.org/docs/api/#global -namespace
μΌλ°: http://jinja.pocoo.org/docs/templates/#assignments
ꡬν: http://jinja.pocoo.org/docs/api/#jinja2.runtime.Context
λ λ€λ₯Έ μ’μ μ€λͺ
: http://stackoverflow.com/a/3355029/482864
μ΄λ€ μμ΄λμ΄?
μ΄κ²μ λ¬Έμνλ λμμ λλ€.
λ―ΈμΈ νμ½,
DriverXμ κ°μ λ¬Έμ κ° μμ΅λλ€.
μ, "set"μ μ¬μ©μ΄ λ¬Έμνλμ΄ μμ§λ§ μλν©λκΉ?
μ°λ¦¬μ μ:
{% set the_var = 'foo' %} {μμ %}μ eμ λν %} {% set the_var = 'μ' %} λ³μ: {{ the_var }} {%- endfor %} the_var: {{ the_var }}
κ²°κ³Ό:
the_var: μ the_var: μ the_var: νΈ
μ°λ¦¬ μ’ λμ μ€μμμ΄? κ°μ¬ ν΄μ
http://stackoverflow.com/questions/4870346/can-a-jinja-variables-scope-extend-beyond-in-an-inner-block λ° http://stackoverflow.com/questions/9486393/jinja2-change- 루ν λ΄λΆμ λ³μ κ°
λλ κ·Έ ν΄νΉμ΄ μ νμνμ§ μ λ§λ‘ μ΄ν΄νμ§ λͺ»ν©λλ€. "λ‘컬 var" ꡬ문 λλ μ΄μ μ μ¬ν΄μΌ ν©λλ€.
λ¬Έμ μΈμ¬
κ°μ₯ μ μ©ν λκΈ
λ―ΈμΈ νμ½,
DriverXμ κ°μ λ¬Έμ κ° μμ΅λλ€.
μ, "set"μ μ¬μ©μ΄ λ¬Έμνλμ΄ μμ§λ§ μλν©λκΉ?
μ°λ¦¬μ μ:
κ²°κ³Ό:
μ°λ¦¬ μ’ λμ μ€μμμ΄? κ°μ¬ ν΄μ