область назначения переменных шаблона jinja

Учитывая следующий фрагмент Jinja

{% set sep='' %} {% for stamp in stamp_list -%} {%- for heartbeat in heartbeat_list -%} {%- if heartbeat.name == site.name and heartbeat.stamp == stamp.stamp -%} {{- heartbeat.sc_time -}} {{- sep -}} {% set sep=',' %} [PROOF for new value {{ sep }}] {%- endif -%} {%- endfor -%} {%- endfor %} 

Посмотрите на переменную sep (сокращение от разделителя). Я хочу отделить sc_time с запятой .. как 3.13,2.5,1.33, …

Поэтому я представляю var sep, который я изменяю во внутреннем, если … Чтение ниндзя. Я ничего не вижу о сфере видимости внутри циклов или if и YES. Я могу фактически использовать и изменять sep var … в этом примере строка

  {% set sep=',' %} 

и следующая строка

  [PROOF ... 

на самом деле приводит к отображению, НО, в следующий раз

  {{- sep -}} 

просто отображает снова как пустой var. Что мне не хватает / не понимаю здесь ….

One Solution collect form web for “область назначения переменных шаблона jinja”

Проблема заключается в области, если переменная. Переменная sep внутри вас для циклов считается другой переменной, чем переменная, которую вы инициализируете вверху.

Один и тот же вопрос и некоторые ответы приведены здесь: Может ли область переменной Jinja расширяться во внутреннем блоке?

  • Как создать список Python lambdas (в понимании списка / для цикла)?
  • Как написать действительный класс Decorator в Python?
  • Как создать динамические переменные в Python?
  • Список переходов в качестве аргументов в Scrapy
  • Получение блока команд, которые должны выполняться в операторе with
  • Локальные и глобальные переменные Python
  • Как вставить переменную в область с помощью декоратора в python
  • Поиск функций, определенных в a с помощью: Block
  • Python - лучший язык программирования в мире.